function createTrigger(fnName) {
var triggers = ScriptApp.getProjectTriggers();
var triggerExists = false;
for (var i = 0; i < triggers.length; i++) {
if (triggers[i].getFunctionName() === fnName) {
triggerExists = true;
break;
}
}
if (!triggerExists) {
ScriptApp.newTrigger(fnName).timebase().everyHours(1).create;
}
}
2 回答
调用创建新触发器的函数时,最好在同一函数中删除同名的所有现有触发器 . 否则,每次运行该功能时,最终都可能会创建一个新的触发器 .
另一个好的选择是检查现有触发器并仅在不存在时创建新触发器 .
您只需运行一次即可创建触发器 . 在脚本编辑器中,转到编辑>所有触发器,您应该看到脚本的所有触发器 . 您将看到从该newTrigger函数创建的多个相同触发器 . 删除所有重复项 .