GAS(Google Apps Script):トリガーで指定した時刻にスクリプトを実行する
GASのトリガーを使うと、特定の時間帯にスクリプトを自動的に実行できます。
トリガーを設定する方法
スクリプトエディタで、編集 > 現在のプロジェクトのトリガーをクリックするとトリガーの一覧画面が表示されます。
トリガーを追加をクリックし、次のとおりに設定して保存をクリックするとトリガーが追加されます。
【毎日午前8時〜9時に1回実行する場合】
・実行する関数を選択:トリガーで実行したい関数を指定
・実行するデプロイを選択:Head
・イベントのソースを選択:時間主導型
・時間ベースのトリガーのタイプを選択:日付ベースのタイマー
・時刻を選択:午前8時〜9時
また、時間ベースのトリガーのタイプを選択で別のオプションを選択すると、1時間ごとなど異なる間隔で関数を実行できます。
時刻指定でトリガーを設定する方法
毎日8時00分に指定した関数を実行するなど時刻を細かく設定したい場合は、トリガーにScriptAppクラスのnewTriggerメソッドを組み合わせて使います。
例えば、毎朝8時00分に起動する場合、こちらのサンプルコードのようにsetTrigger関数を使って8時00分にmainFunctionを起動するようトリガーを作成します。
function setTrigger() {
let setTime = new Date(); //現在日時を取得(この場合、setTrigger関数が実行された日時)
setTime.setHours(8); //8時に設定
setTime.setMinutes(00); //0分に設定
//8:00にmainFunctionが実行されるようトリガーを作成
ScriptApp.newTrigger('mainFunction').timeBased().at(setTime).create();
}
//指定した時刻8:00に実行される関数
function mainFunction() {
console.log('Good Morning!!!');
}
そして、トリガーの追加で実行する関数にsetTriggerを指定し、午前6時〜7時(mainFunctionを実行する8時00分よりも前の時間帯)を設定します。
午前6時から7時の間にsetTrigger関数が実行されると、トリガーが新規に作成されます。トリガーの編集から確認すると、午前8時00分にmainFunctionを実行するようトリガーが設定されていることが確認できます。
GAS中心に記事を書いています、よろしければサポートお願いします!!