私は業務改善・自動化を専門にしているエンジニアです。
Google Workspaceで業務をしている会社での自動化では、GASによる自動化は頻繁に行います。
そこで課題になるのが、GASのプロジェクト管理。
ユーザーがオーナーのプロジェクト(スクリプト)や、トリガー管理をしないと安定稼働させづらいところがあります。
今回はGASでアカウントが設定しているトリガーの一覧を取得したく、色々調べてみた記録です。
結論として、2023年12月現在、GASやGCPのAPIを活用た自動取得はできませんでした。
ブラウザ上で確認することは可能なので、現時点では手作業で取得しています。
まず今回最終的に選んだ方法
GASプロジェクトを管理するページで、トリガ一覧を取得できます。
管理ページは以下リンクから。
https://script.google.com/home/
このサイドメニューの「マイトリガー」を選択すると、現在のアカウントが設定しているトリガーが取得できます。「管理ページあるんだ…」と思った方もいるはず。いるよね?
せめてCSV等で取得できればありがたいのですが、現時点ではできないようです。
手作業で地道に管理しています……
模索した(けどできなかった)他の方法
さて、ここからは模索したけどできなかった他の方法について記載します。
こういうTry & Errorも知識の幅を広げるには大切ですよね。
GASのScriptApp.getProjectTriggers()を使う方法
まず検索すると真っ先に出てきて、それっぽいやつ。
この方法で取得できるのは、現在開いているプロジェクトのトリガー情報のみです。
今回のようなアカウントが設定している全プロジェクトのトリガーを取得したいようなケースでは使えませんでした。
GCPのGoogle Apps Script APIを使う方法
GCPにはGoogle Apps Script APIがあります。
この中にはprojectsというものがあるのですが、「このAPIならいける!」という期待もむなしく、listメソッドはありませんでした。
指定したIDのプロジェクトに対し、情報を取得したりデプロイ管理したりといった機能を提供しているようです。
ブラウザ上でできるんだから、listメソッド用意してくれても良いと思うんだけどな……。
もっと良い管理方法はないものか
業務上管理はしっかりしたいのですが、なかなか思わしい方法は見つかりませんでした。
私の調査不足ということもありますので、もしより良い方法をご存知の方がいましたらぜひご教示ください。
API等の機能が充実して自動管理が実現可能になったら改めて更新いたします。