libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

Script Serviceによるスクリプトの自動制御 (2/4)

作成:2012-07-12 09:34
更新:2012-07-12 09:34

■Triggerオブジェクトでトリガー情報を得る

まずは、これらの情報を取得することからやってみましょう。まずはトリガー関係からです。トリガーは「Trigger」オブジェクトとして用意されています。その取得から、オブジェクト内のメソッドの働きについて整理して行きましょう。

●トリガー情報を取得する
変数 = ScriptApp.getScriptTriggers();
トリガー情報をまとめて取り出します。返り値は、「Trigger」オブジェクトの配列となります。このTriggerが、個々のトリガーに関する情報を管理するオブジェクトになります。ここから必要に応じてメソッドを呼び出し、そのトリガーを操作します。

●トリガーの種類名を得る
変数 = 《Trigger》.getEventType();
トリガーの種類を示す値を返します。返り値は「EventType」というオブジェクトのプロパティ「CLOCK」「CN_EDIT」「ON_FORM_SUBMIT」「ON_OPEN」のいずれかになります。

●設定された関数名を得る
変数 = 《Trigger》.getHandlerFunction();
そのトリガーに設定されている関数名をテキストで取得します。

●トリガーソースを得る
変数 = 《Trigger》.getTriggerSource();
そのトリガーが何から呼ばれるものかを示すものです。これは「TriggerSource」オブジェクトのプロパティ「CLOCK」「SPREADSHEETS」のいずれかになります。

●IDを得る
変数 = 《Trigger》.getTriggerSourceId();
変数 = 《Trigger》.getUniqueId();
getTriggerSourceIdはトリガーソースのIDを返します。getUniqueIdはトリガーに割り当てられたIDを返します。


ざっと見れば、トリガーとサービスの状態について基本的な情報がだいたい得られることが分かるでしょう。

では、実際の簡単な利用例を以下にあげておきます。登録されている全トリガーの種類と設定されている関数名をログに出力します。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function getScript(){
  var triggers = ScriptApp.getScriptTriggers();
  for(var i =0;i < triggers.length;i++){
    Logger.log(triggers[i].getEventType() + ":" + triggers[i].getHandlerFunction());
  }
}
※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る