0
を使用して作成されているかどうかを決定します。は、私はトリガーが正常に作成されますが、でも、失敗したトリガが固有のIDを引き出し、作成しているように見えるかどうかを判断programicallyしたいトリガーが正常かどうかGAS
//this will show 0
var triggers = ScriptApp.getProjectTriggers();
showAlert(triggers.length); //define showAlert
var dt = new Date(2015,03,03,20,10) // create past date or feb 31
//Month index starts from 0 i.e. Jan =0,Feb=1... So on
var ret = ScriptApp.newTrigger('myFunction').timeBased().at(dt).create()
showAlert(ret.getUniqueId()); //will display ID for sure
//this will show 1
var triggers = ScriptApp.getProjectTriggers();
showAlert(triggers.length); //define showAlert
しかし、実際にトリガが
'' at() ''は一度だけ使用されます。また、過去にトリガーを作成することはできません。それはIDを持っていますが、トリガーが行われていました。トリガーは既に削除されています。 '' dt''を '' var dt = new Date(2018,03,03,20,10) ''に変更すると、現在のトリガリストでトリガを見ることができます。 – Tanaike
ああ、私は上記の事実を知っています。私の質問は、どのようにトリガが有効かどうかをプログラマチックに判断するかどうかです。それはエラーを投げることはありません、それはトリガーを削除します。 –
誤解をおかけして申し訳ありません。サンプルスクリプトでは、過去に作成されたトリガーの情報を取得できます。しかし、実際にはこのようなトリガは機能しません。したがって、過去のトリガを作成するためのスクリプトが終了した後、 '' getProjectTriggers() ''が使われると、長さはゼロになります。現時点では、過去のトリガーを取り除くためには時間が必要かもしれないと考えました。だから私はあなたのスクリプトの '' var ret = ''と '' var triggers = ''の間に '' Utilities.sleep(1000) ''を置きます。それを置いた後、過去の時間のトリガー情報は消えた。これが解決策につながるだろうか? – Tanaike