Class Trigger

觸發條件

指令碼觸發條件。

方法

方法傳回類型簡短說明
getEventType()EventType傳回觸發條件觸發的事件類型。
getHandlerFunction()String傳回觸發事件觸發時會呼叫的函式。
getTriggerSource()TriggerSource傳回會觸發事件的來源。
getTriggerSourceId()String傳回來源專屬的 ID。
getUniqueId()String傳回可用於區分觸發事件的專屬 ID。

內容詳盡的說明文件

getEventType()

傳回觸發事件的類型。

const triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
  if (triggers[i].getEventType() === ScriptApp.EventType.CLOCK) {
    // Some code here - other options are:
    // ScriptApp.EventType.ON_EDIT
    // ScriptApp.EventType.ON_FORM_SUBMIT
    // ScriptApp.EventType.ON_OPEN
  }
}

回攻員

EventType:觸發事件的類型

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.scriptapp

getHandlerFunction()

傳回觸發事件觸發時會呼叫的函式。

// Create a trigger for the script.
ScriptApp.newTrigger('myFunction')
    .forSpreadsheet('id of my spreadsheet')
    .onEdit()
    .create();
Logger.log(ScriptApp.getProjectTriggers()[0]
               .getHandlerFunction());  // logs "myFunction"

回攻員

String:方法名稱

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.scriptapp

getTriggerSource()

傳回會觸發事件的來源。

舉例來說,如果是試算表的 onEdit 觸發事件,就會傳回 SPREADSHEETS,而如果是時間觸發事件,則會傳回 CLOCK。

const triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
  if (triggers[i].getTriggerSource() === ScriptApp.TriggerSource.CLOCK) {
    Logger.log(`${triggers[i].getUniqueId()} source is clock`);
  } else if (
      triggers[i].getTriggerSource() === ScriptApp.TriggerSource.SPREADSHEETS) {
    Logger.log(`${triggers[i].getUniqueId()} source is spreadsheets`);
  }
}

回攻員

TriggerSource - 觸發條件所適用的發布商

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.scriptapp

getTriggerSourceId()

傳回來源專屬的 ID。

舉例來說,如果觸發來源是試算表,這個值就是試算表的 ID。針對時鐘事件,這個方法會傳回空值。

回攻員

String:觸發事件的發布商實體 ID

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.scriptapp

getUniqueId()

傳回可用於區分觸發事件的專屬 ID。

回攻員

String:觸發事件的專屬 ID

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.scriptapp