3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASトリガーのオーナーアカウントの特定方法

Posted at

背景

システムの改修・運用方法の変更により、過去に設定したトリガーが不要になりました。
削除したいのですが、トリガーを設定したアカウントでないと削除ができないのです...!
実装当時のドキュメントも残っておらず、トリガーを設定したアカウントが不明なため長らく削除できない状態でした。

スクリーンショット 2023-09-12 13.05.47.png

応急的な対応として、トリガーで設定されている関数をtrueを返すだけのものにして騙し騙し運用していましたが...

トリガーのオーナーアカウントの特定方法

この問題を解決する一手を見つけたのです!

それがこちら

Session.getEffectiveUser().getEmail();

Googleの公式リファレンスによると...

スクリプトの実行権限があるユーザーに関する情報を取得します。スクリプトがウェブアプリとして実行されている(デベロッパー)場合は、これによりデベロッパーのユーザー アカウントが返されます。スクリプトがインストール可能なトリガーで実行されている場合は、トリガーを作成したユーザーのアカウントが返されます。

インストール可能なトリガーとは

起動時、編集時、変更時、フォーム送信時、時間主導型とかの手作業もしくはプログラムによってトリガー関数として設定しなければならないトリガーのことをいうみたいですね。

詳しくはここを読んでね

解決

上記の関数をLogger.logでログ出力しアカウントが判明しました!

なせ今まで見つけられなかったのか...

ともかく、特定したアカウントでログインし、無事トリガーを削除できました👏👏👏

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?