この投稿ではGoogle Apps Scriptを定期実行する方法を紹介します。
Google Apps Scriptとは
Google Apps Scriptは、Google SpreadsheetやGoogle Docsと連携して動くプログラムです。Excelのマクロのような存在です。JavaScriptで書けて、Spreadsheetを参照・変更したり、外部のウェブAPIを呼び出したり、簡単なHTTPサーバーも作れる便利なやつです。
Google Apps Scriptで設定できるスケジュール
Google Apps Scriptでは次のスケジュール設定が行えます。
- 日時(YYYY-MM-DD HH:MMで指定)
- N分おき (1分、5分、10分、15分、30分から選択)
- N時間おき (1時間、2時間、4時間、6時間、8時間、12時間から選択)
- 1日1回 (24時間のうち何時ごろ実行するかは選べる)
- 曜日 (月火水木金土日から選択した上で、時間帯を選ぶ)
- 毎月 (1日〜31日の間から選択した上で、時間帯を選ぶ)
このようにそこそこ柔軟なスケジュール設定が行えます。
Google Apps Scriptを定期実行する方法
Google Apps Scriptはcronのように時間指定で起動できます。その設定方法を順を追って説明します。
まず、スプレッドシートの「拡張機能」→「Apps Script」を開きます。
エディタが開いたら、myFunction
の実装にconsole.log(new Date());
と書き、保存します。
続いて、「トリガー」ページを開き「トリガーを追加」ボタンを押します。
トリガー追加のモーダルが出るので、次のとおり設定します。
- 実行する関数を選択: myFunction
- イベントのソースを選択: 時間主導型
- 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
- 時間の間隔を選択(分): 1分おき
設定したら「保存」を押します。これで定期実行の設定が完了です。
実行履歴を見る
設定したトリガーが期待通りに動いているかは「実行数」ページで確認できます。
1回実行されるごとに1つ履歴が増えます。各履歴を開くと、console.log
の結果も確認できます。myFunction
では現在時刻をロギングするようにしていたので、上の図では現在時刻が表示されています。