我在創建觸發器以在每天早上 6:05 執行時遇到了一些困難。(澳大利亞/墨爾本時間)。
我已確保在電子表格設定、專案設定甚至在我的代碼中設定正確的時區。
日志說它有正確的時間,并且它有所有必要的資訊來創建當天早上 6:05 的觸發器
日志檔案:
下午 12:33:55 資訊 2022 年 1 月 13 日星期四 00:00:00 GMT 11:00
12:33:55 PM 資訊 [2022.0, 0.0, 13.0, 6.0, 5.0]
下午 12:33:55 資訊 2022 年 1 月 13 日星期四 06:05:00 GMT 11:00
但是,當我檢查觸發器儀表板(在 Google App Script 中)時,它會繼續為當前時間創建觸發器:
例如,現在的當前時間是:2022-01-13 12:34 <-- 這是創建觸發器的時間。
我的代碼:
function setTrigger() {
deleteTriggers();
var today_D = Utilities.formatDate(new Date(), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "yyyy MM dd");
var newDate = new Date(today_D)
Logger.log(newDate)
var year = newDate.getFullYear();
var month = newDate.getMonth();
var day = newDate.getDate();
pars = [year,month,day,06,05];
Logger.log(pars)
var scheduled_D = new Date(...pars);
Logger.log(scheduled_D)
ScriptApp.newTrigger("function_Triggered")
.timeBased()
.at(scheduled_D)
.create()
}
function deleteTriggers() {
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i ) {
if ( triggers[i].getHandlerFunction() == "function_Triggered") {
ScriptApp.deleteTrigger(triggers[i]);
}
}
}
function function_Triggered() {
Gmail2GDriveVolume()
}
任何幫助將不勝感激。
uj5u.com熱心網友回復:
從12:33:55 PM Info Thu Jan 13 06:05:00 GMT 11:00 2022和Example the current time now is: 2022-01-13 12:34 <-- Which is the time the trigger was created for.,在這種情況下,我認為設定為時間驅動觸發器的時間已經結束。我認為這可能是您的問題的原因。
那么,例如,為了檢查這一點,如何設定明天的時間驅動觸發器如下?
從:
var day = newDate.getDate();
到:
var day = newDate.getDate() 1;
這樣,觸發器將在明天 06:05 安裝。
參考:
- 類 TriggerBuilder
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410883.html
標籤:
