使用GAS判断触发器是否创建成功

Determine whether the trigger is created successfully or not using GAS

我想以编程方式确定触发器是否创建成功,但即使是一个不成功的触发器也会带出一个唯一的 ID,它似乎已创建。

//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

但实际上并没有创建触发器

您最好的选择是检查输入的日期是否已过?并且只有在没有通过的情况下才设置触发。

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
if( dt > new Date()){  //new Date() gives current date
 var ret = ScriptApp.newTrigger('myFunction').timeBased().at(dt).create()
}

希望对您有所帮助!