2016-05-13 54 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(); 
} 
相關問題