2016-05-13 87 views
0

我在线查看了Google应用程序脚本可安装触发器文档(https://developers.google.com/apps-script/support),其中一个示例显示了如何创建2个时间触发器。2时间触发器 - Google应用程序脚本

function createTimeDrivenTriggers() { 
    // Trigger every 6 hours. 
    ScriptApp.newTrigger('myFunction') 
     .timeBased() 
     .everyHours(6) 
     .create(); 

    // Trigger every Monday at 09:00. 
    ScriptApp.newTrigger('myFunction') 
     .timeBased() 
     .onWeekDay(ScriptApp.WeekDay.MONDAY) 
     .atHour(9) 
     .create(); 
} 

我的代码:

function createTimeDrivenTriggers() { 
    // Trigger every 1 hours. 
    ScriptApp.newTrigger('MainFunctionDaily') 
     .timeBased() 
     .everyHours(1) 
     .create(); 

    // Trigger every Friday at 13:00. 
    ScriptApp.newTrigger('MainFunctionWeekly') 
     .timeBased() 
     .onWeekDay(ScriptApp.WeekDay.FRIDAY) 
     .atHour(13) 
     .create(); 
} 

然而,当我试图创建触发器,我得到一个错误:

这个附加组件已经创造了这太多的基于时间的触发器此Google用户帐户的文档

请指教

回答

0

根据此forum,当您对计划进行更改时,附加组件将删除先前存储的触发器并创建一个新的触发器(因为触发器不可编辑)。但是,这听起来像在某些情况下,它会丢失对旧触发器的引用,并且无法将其删除,因此最终只会添加更多并快速耗尽允许的触发器。尝试使用script.google.com删除旧的预定触发器。

0

可能存在两个问题:

  1. 你的触发器是相互矛盾
  2. 您可能需要第二次触发前添加一个创建功能。

你可能会需要选择只有你的触发之一,但你可以试试这个:

function createTimeDrivenTriggers() { 
    // Trigger every 6 hours. 
    ScriptApp.newTrigger('myFunction') 
     .timeBased() 
     .everyHours(6) 
     .create(); 
} 

function createTimeDrivenTriggers() { 
    // Trigger every Monday at 09:00. 
    ScriptApp.newTrigger('myFunction') 
     .timeBased() 
     .onWeekDay(ScriptApp.WeekDay.MONDAY) 
     .atHour(9) 
     .create(); 
} 
相关问题