
あきぞらです。
GAS(Google App Script)は自動化のちょっとしたツールを作成するときによく使います。
ある時、onEditの処理を書いていたところ、
処理を実行することができませんでした。
今回は、その対処方法について紹介していきます。
onEditとは?
onEditというのは、
スプレッド上のセルやシートが何かしらの更新がなされたときに走る関数のことです。
この関数名で処理を書くことで、更新が行われたときに処理を走らせることが可能になります。
権限が足りないためエラー
いざonEditの処理を実行しようとすると、
エラーが発生し、こんな文言が表示されてしまいました。
その操作を行うには「(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)
そこで、下記の記事を参考にマニフェストファイルを修正したのですが、
-
-
【GAS】「Exception: スクリプトにはその操作を行う権限がありません。」エラーの対処方法!
あきぞらです。 GAS(Google App Script)を使っていて、こんなエラーに出くわしました。 Exception: スクリプトにはその操作を行う権限がありません。 解決するのに少し手こずっ ...
続きを見る
結果は変わらないままでした。
onEditは最低の権限しかない
よくよく調べてみると、onEditの関数は一番低い権限が設定されているため、
メール送信などの処理は実行できないようでした。
そのため、マニフェストファイルをいくら修正してもonEditでは実行できない処理があったのです。
onEditから別名の関数を使い、トリガーを設定して解決!
実行する関数を、onEditから別の関数名に変更します。
そして、トリガーを以下のように設定します。

これでonEditと同じように処理が実行され、
マニフェストファイルに記載した権限で実行ができるようになります!