我遇到了解Google时间触发器如何工作的问题。如果用户创建时间触发器,是否会为使用该插件的所有电子表格和用户调用此函数?
调试时,我以编程方式创建了一个时间触发器,它出现在Edit - >中。当前项目的触发器。这个触发器会自动与所有电子表格绑定吗?
答案 0 :(得分:0)
我发现在创建另一个函数之前总是检查是否已经有一个触发器给我很有帮助。例如,我有一个夜间触发器在Web应用程序中测试一些新代码,因此我将函数setupNightlyTrigger放在webapp的doGet中,这样只有每天我去那个页面时它才会运行一次。这只是确保触发器设置并运行的一种方法。
function setupNightlyTrigger()
{
if(!isTrigger('resetCount'))
{
ScriptApp.newTrigger('resetCount').timeBased().atHour(22).everyDays(1).create();
}
}
function isTrigger(handlerName)
{
var r=false;
var triggers = ScriptApp.getProjectTriggers();
for (var i=0;i<triggers.length;i++)
{
if (handlerName==triggers[i].getHandlerFunction())
{
r=true;
break;
}
}
return r;
}