2014-01-20 93 views
4

我不斷收到以下錯誤,當我運行一個谷歌Apps腳本:無法獲得授權

Execution failed: You do not have permission to call getFoldersByName

這裏是我運行的代碼行:

var folders = DriveApp.getFoldersByName('Mission Response'); 

當我從腳本編輯器運行腳本,它運行時沒有任何問題。但是,我從來沒有獲得授權對話框(授權DriveApp的授權對話框)。當我從電子表格中運行腳本時,腳本失敗,並顯示上面的執行錯誤。

+0

你是什麼意思「我在電子表格中運行腳本」 –

+0

當腳本編輯器關閉並且腳本使用與其關聯的自定義菜單項(腳本包含在電子表格中)運行時。最終獲得授權對話框,現在正在工作。 – user3216612

+0

我有同樣的問題!當我直接調用函數時,它可以工作,但是當我從OnEdit事件觸發它時,它會記錄相同的錯誤。 –

回答

0

經過艱苦的鬥爭,我找到了解決方案this link

它說,你不能使用服務要求認證簡單觸發器,像onEdit()

知道了,我這樣做是爲了解決它:

我有這樣的事情:

function onEdit(){ 
    var folder = DriveApp.gefFoldersByName('My Folder Name').next(); 
    doSomething(folder); 
    ... 
} 

然後,我創建的安裝觸發:

function onEditTrigger(){ 
    var folder = DriveApp.gefFoldersByName('My Folder Name').next(); 
    doSomething(folder); 
    ... 
} 

enter image description here

我希望它有幫助,因爲花了我很多時間才弄清楚。