概要
以下のエラーが記録される
エラー Exception: UrlFetchApp.fetch を呼び出す権限がありません。必要な権限: https://www.googleapis.com/auth/script.external_request
エラーとなるコード
UrlFetchApp.fetch(“https://notify-api.line.me/api/notify”,options);
LINEにメッセージを送る部分
対処方法
プロジェクトの設定
プロジェクトの設定を開いて,「「appsscript.json」マニフェスト ファイルをエディタで表示する」のチェックをONにする
これで「エディタ」の部分に appsscript.json が表示される
下部にある「プロジェクトを変更」のボタンは押さない
appsscript.json を編集
エディタ の画面に移動して, appsscript.json を開く
oauthScopes の値に
“https://www.googleapis.com/auth/script.external_request”
を追加する。 oauthScopes がなければ下記を参考に追加する。
{
"timeZone": "Asia/Tokyo",
"dependencies": {},
"webapp": {
"access": "ANYONE",
"executeAs": "USER_ACCESSING"
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets.readonly",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/script.external_request"
],
"runtimeVersion": "V8"
}
これで完了
注意点
トリガーではないイベントを使用している場合
onOpen , onEdit など 標準のイベント から UrlFetchApp.fetch が呼びされている場合は何をしてもエラーとなる。この場合は ソースで onEdit2 など別名に変更し,「トリガー」に登録させる。onEditのままトリガーに登録させることもできるが,この場合2回実行されてしまい片方がエラーとなる。
プロパティ
Google Apps Script
コメント