使用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()
}
希望对您有所帮助!
我想以编程方式确定触发器是否创建成功,但即使是一个不成功的触发器也会带出一个唯一的 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()
}
希望对您有所帮助!