2017-11-02 15 views
0

私の同僚は、今日私がGoogle Scriptsで自動化したスケジュールシートに問題があると不平を言った。私はしばらくの間、このスプレッドシートのコードに触れ、エラーのログのStackdriverがいっぱい見て驚きましたしていない:Google Scriptsエラー "Toastを呼び出す権限がありません"

You do not have permission to call toast at createJobFolder(Job_Files:112) at evaluateJobCode(Job_Code:29) at check(Triggers:14)

Googleが)(.toastの権限については何も変更しましたか?新しい許可リクエストはありませんでした。私はそれを起動できませんでした。お知らせ下さい。それは

function myFunction() { 
 
SpreadsheetApp.getActive().toast('hello') 
 
}

2ラン:

  1. スクリプトエディタに次のコードを貼り付けます。ここ

    は、私はエラーを再現することが分かってきた簡単な方法がありますアクセス許可を確認するには 3.編集イベントを割り当てます 4.共有別のアカウントで編集し、エラーを再現するように編集します。

+0

エラーの診断に役立つコードを投稿してください。 – Brian

+0

ここに例があります:SpreadsheetApp.getActive()。toast( '5013 updated。'); – webstermath

+1

このコードは、このエラーを引き起こすことなく何ヶ月も非常に積極的に実行されています。私は数週間でそれに触れていないとコード内のトースト呼び出しのすべてが突然午前9時00分PST – webstermath

答えて

0

11月6日にこのエラーが発生しました。このスクリプトは、問題なしで1年以上も使用されています。それは 'OnEdit'シンプルなトリガーの中にあります。コードは次のとおりです。

function OnEdit(e) { 
    var ui = SpreadsheetApp.getUi(); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var sName = sheet.getSheetName(); 
    var sysDate = new Date(); 
    var sysYear = sysDate.getYear(); 
    if(sName != sysYear.toString()) { return; } 
    var editColumn = e.range.getColumn(); 
    var editRow = e.range.getRow(); 
    var metricOwner = sheet.getRange(editRow,2,1,1).getValue(); 
    var user = Session.getActiveUser().getEmail(); 
    if(metricOwner != user){ 
    ss.toast("Note: You don't appear to own this metric! " + 
    "Be sure the owner is OK with your update.","WARNING!!!",10); } 
    if(editColumn < 3 || editColumn > 14) { return; } 
    sheet.getRange(editRow,16).setValue(sysDate); 
} 
関連する問題