背景
システムの改修・運用方法の変更により、過去に設定したトリガーが不要になりました。
削除したいのですが、トリガーを設定したアカウントでないと削除ができないのです...!
実装当時のドキュメントも残っておらず、トリガーを設定したアカウントが不明なため長らく削除できない状態でした。
応急的な対応として、トリガーで設定されている関数をtrueを返すだけのものにして騙し騙し運用していましたが...
トリガーのオーナーアカウントの特定方法
この問題を解決する一手を見つけたのです!
それがこちら
Session.getEffectiveUser().getEmail();
Googleの公式リファレンスによると...
スクリプトの実行権限があるユーザーに関する情報を取得します。スクリプトがウェブアプリとして実行されている(デベロッパー)場合は、これによりデベロッパーのユーザー アカウントが返されます。スクリプトがインストール可能なトリガーで実行されている場合は、トリガーを作成したユーザーのアカウントが返されます。
インストール可能なトリガーとは
起動時、編集時、変更時、フォーム送信時、時間主導型とかの手作業もしくはプログラムによってトリガー関数として設定しなければならないトリガーのことをいうみたいですね。
詳しくはここを読んでね
解決
上記の関数をLogger.logでログ出力しアカウントが判明しました!
なせ今まで見つけられなかったのか...
ともかく、特定したアカウントでログインし、無事トリガーを削除できました👏👏👏