Class Trigger

触发

脚本触发器。

方法

方法返回类型简介
getEventType()EventType返回触发器触发的事件类型。
getHandlerFunction()String返回触发器触发时调用的函数。
getTriggerSource()TriggerSource返回导致触发器触发的事件的来源。
getTriggerSourceId()String返回特定于来源的 ID。
getUniqueId()String返回可用于区分不同触发器的唯一标识符。

详细文档

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。对于时钟事件,此方法会返回 null

返回

String - 发布商中相应触发器的实体 ID。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

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

getUniqueId()

返回可用于区分不同触发器的唯一标识符。

返回

String - 触发器的唯一标识符。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

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