達(dá)令說
2022-10-13 15:40:23
以下代碼無法找到觸發(fā)器的事件類型,即使作為字符串的事件類型名稱是正確的。該方法getEventType()正在獲取一個(gè)對(duì)象,而不是一個(gè)字符串。根據(jù)以下文件:https://developers.google.com/apps-script/reference/script/event-type?hl=en該getEventType()方法返回一個(gè)EventType ENUM。但是文檔沒有列出任何從 ENUM 中獲取任何內(nèi)容的方法,并且文檔中列出的屬性不返回任何內(nèi)容。假設(shè)要查找的事件類型是ON_FORM_SUBMIT如何修改代碼來檢測(cè)觸發(fā)器是否是針對(duì)那個(gè)事件類型的呢?function getEventTypeNameOfTrigger() { var oneTrigger,triggers,triggerEventType; triggers = ScriptApp.getProjectTriggers();//Get the projects triggers oneTrigger = triggers[0];//Get the first trigger - For testing triggerEventType = oneTrigger.getEventType();//Use the getEventType method to get the EventType ENUM Logger.log('triggerEventType: ' + triggerEventType);//Displays the event type name in the logs Logger.log('typeof triggerEventType: ' + typeof triggerEventType);//Displays "object" Logger.log(triggerEventType === 'ON_FORM_SUBMIT');//Evaluates to FALSE even when the event type name is ON_FORM_SUBMIT }
1 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
一種可能性是簡(jiǎn)單地依賴字符串表示。由于我們知道事件類型顯示為ON_FORM_SUBMIT查看日志時(shí),我們知道調(diào)用toString()eventType 將對(duì)應(yīng)于ON_FORM_SUBMIT:
Logger.log(triggerEventType.toString() === 'ON_FORM_SUBMIT'); // true
首選方法是比較枚舉:
switch (triggerEventType) {
case ScriptApp.EventType.CLOCK:
Logger.log('got a clock event');
break;
case ScriptApp.EventType.ON_FORM_SUBMIT:
Logger.log('got a form submit event')
break;
...
}
這是首選,因?yàn)檫@意味著您對(duì) Google 如何實(shí)現(xiàn)枚舉不敏感。
添加回答
舉報(bào)
0/150
提交
取消