Class Trigger

触发器

脚本触发器。

方法

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

详细文档

getEventType()

返回触发触发器的事件类型。

var triggers = ScriptApp.getProjectTriggers();
for (var 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。

var triggers = ScriptApp.getProjectTriggers();
for (var 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