2016-06-14 53 views
0

上午8點,我正在通過jdbc將數據從mySQL數據庫拉到谷歌電子表格中。我創建了以下基於時間的觸發器。谷歌應用程序腳本中的基於時間的觸發器

function createTimeBasedTrigger() { 

var triggers = ScriptApp.getProjectTriggers(); 
for (var i = 0; i < triggers.length; i++) { 
if (triggers[i] === 'myFunction') ScriptApp.deleteTrigger(triggers[i]); 
}; 

ScriptApp.newTrigger('myFunction') 
.timeBased() 
.everyDays(1) 
.atHour(8) 
.create(); 
} 

我也嘗試在腳本編輯器中創建觸發器,它們要麼執行多次,要麼根本不執行。

回答

1

觸發器不是一個字符串,它是一個對象。它不能等於'myFunction'。正確的比較看起來像

if (triggers[i].getHandlerFunction() === 'myFunction') { 
    ScriptApp.deleteTrigger(triggers[i]); 
} 

也就是說,通過管理腳本編輯器界面觸發方便,他們按預期運行,前提是你調用的函數的實際工作。

相關問題