あきぞらです。
GAS(Google App Script)を使っていて、こんなエラーに出くわしました。
Exception: スクリプトにはその操作を行う権限がありません。
解決するのに少し手こずったので、対処方法を書いていきます。
エラー内容をよくみてみる
エラーをよく見てみると、こんな内容でした。
Exception: スクリプトにはその操作を行う権限がありません。 その操作を行うには「(https://www.googleapis.com/auth/gmail.send || https://www.googleapis.com/auth/gmail.compose || https://www.googleapis.com/auth/gmail.modify || https://mail.google.com/ || https://www.googleapis.com/auth/gmail.addons.current.action.compose)」権限が必要です。at onEdit(コード:86:27)
「権限が必要です。」とのこと。
というわけで、権限を追加しようとしてみます。
権限の設定方法
権限を設定するには、「マニフェストファイル」なるものを修正します。
スクリプトエディタを開き、「表示」⇒「マニフェストファイルを表示」を選択します。
マニフェストファイルは、こんな感じになっています。
{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8" }
これに、「oauthScopes」を追加します。
追加するのは、さっきエラーが出た権限たちです。
{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8" "oauthScopes": [ "https://www.googleapis.com/auth/gmail.send", "https://www.googleapis.com/auth/gmail.compose", "https://www.googleapis.com/auth/gmail.modify", "https://mail.google.com/", "https://www.googleapis.com/auth/gmail.addons.current.action.compose" ], }
これで問題なく実行できるはずです(最初の一回は許可が求められるはず)。