GASであれこれいじっていたら今まで動いていたシンプルトリガーのonEditが動かなくなってしまいました。
自分でonUpdateのような関数を別途作ってトリガーを設定してあげるとちゃんと動いてくれます。
ググってみると次の条件がすべて合致すると発生するという情報が見つかりましたので自分の状況を確認してみます。見つけるのに結構苦労しました。情報感謝します。
- V8ランタイムが有効である
- ライブラリにdeveloperモードのものがある
- スクリプトのオーナー以外のユーザーによる実行である
V8ランタイムが有効である
スクリプトの設定を見てみると有効です。
ライブラリにdeveloperモードのものがある
HEAD(開発モード)というのがdeveloperモードを指すようで、こちらもありました。
スクリプトのオーナー以外のユーザーによる実行である
onEditのようなシンプルトリガーの場合はファイルオーナーではなく実行者の権限で動作するそうですのでこれも当てはまります。そしてシンプルトリガーではなく自分でトリガーを設定した場合は、トリガーを設定した人のアカウントで実行されるので、自分でトリガー設定した時だけ動いたのもうなずけます。
参考 【図解説明】GASの実行権限や共有権限の仕組みについて解説初心者でもわかるGoogle Apps Script活用のススメこの症状自体はバグじゃないのかなと思うのですがとりあえず条件が分かって助かりました。シンプルトリガーには他にも認証が必要な処理は実行できないとか色々制限があるようなので注意です。
参考 Simple Triggers | Apps Script | Google DevelopersGoogle Developers
[…] GASでonEditがエラーになる […]
[…] GASでonEditがエラーになる […]