Script Service

脚本

此服务提供对脚本触发器和脚本发布的访问权限。

名称简介
AuthMode一个枚举,用于标识 Apps 脚本可以通过触发的函数执行哪些类别的授权服务。
AuthorizationInfo一个对象,用于确定用户是否需要授权此脚本使用一项或多项服务,并提供授权对话框的网址。
AuthorizationStatus用于表示脚本的授权状态的枚举。
CalendarTriggerBuilder日历触发器的构建器。
ClockTriggerBuilder时钟触发器的构建器。
DocumentTriggerBuilder文档触发器的构建器。
EventType表示触发的事件类型的枚举。
FormTriggerBuilder表单触发器的构建器。
InstallationSource用于指明相应脚本如何作为插件安装到当前用户的枚举。
ScriptApp访问和处理脚本发布和触发器。
Service访问和操作脚本发布。
SpreadsheetTriggerBuilder电子表格触发器的构建器。
StateTokenBuilder允许脚本创建可用于回调 API(如 OAuth 流程)的状态令牌。
Trigger脚本触发器。
TriggerBuilder脚本触发器的通用构建器。
TriggerSource一个枚举,用于表示导致触发器触发的事件的来源。

AuthMode

属性

媒体资源类型说明
NONEEnum一种不允许访问任何需要授权的服务的模式。
CUSTOM_FUNCTIONEnum一种模式,允许访问有限的服务子集,以用于自定义电子表格函数。
LIMITEDEnum一种模式,允许访问有限的服务。
FULLEnum一种模式,允许访问所有需要授权的服务。

AuthorizationInfo

方法

方法返回类型简介
getAuthorizationStatus()AuthorizationStatus获取一个值,指示用户是否需要授权此脚本使用一项或多项服务(例如 ScriptApp.AuthorizationStatus.REQUIRED)。
getAuthorizationUrl()String获取可用于授予对脚本的访问权限的授权网址。

AuthorizationStatus

属性

媒体资源类型说明
REQUIREDEnum用户需要授权此脚本使用一项或多项服务。
NOT_REQUIREDEnum用户已授予此脚本当前所需的全部授权。

CalendarTriggerBuilder

方法

方法返回类型简介
create()Trigger创建触发器并将其返回。
onEventUpdated()CalendarTriggerBuilder指定在创建、更新或删除日历条目时触发的触发器。

ClockTriggerBuilder

方法

方法返回类型简介
after(durationMilliseconds)ClockTriggerBuilder指定触发器当前运行时间之后的最短时长(以毫秒为单位)。
at(date)ClockTriggerBuilder指定触发器的运行时间。
atDate(year, month, day)ClockTriggerBuilder指定触发器在指定日期触发,默认情况下靠近午夜(+/- 15 分钟)。
atHour(hour)ClockTriggerBuilder指定触发器运行的小时数。
create()Trigger创建触发器。
everyDays(n)ClockTriggerBuilder指定每 n 天运行一次触发器。
everyHours(n)ClockTriggerBuilder指定每 n 小时运行一次触发器。
everyMinutes(n)ClockTriggerBuilder指定每 n 分钟运行一次触发器。
everyWeeks(n)ClockTriggerBuilder指定每 n 周运行一次触发器。
inTimezone(timezone)ClockTriggerBuilder指定触发器运行时指定日期/时间的时区。
nearMinute(minute)ClockTriggerBuilder指定触发器运行的分钟(正负 15 分钟)。
onMonthDay(day)ClockTriggerBuilder指定触发器运行的月份中的日期。
onWeekDay(day)ClockTriggerBuilder指定触发器在星期几运行。

DocumentTriggerBuilder

方法

方法返回类型简介
create()Trigger创建并返回新触发器。
onOpen()DocumentTriggerBuilder指定在文档打开时触发的触发器。

EventType

属性

媒体资源类型说明
CLOCKEnum该触发器会在时间驱动的事件达到特定时间时触发。
ON_OPENEnum该触发器会在用户打开 Google 文档、表格或表单文件时触发。
ON_EDITEnum该触发器会在用户修改 Google 表格文件时触发(例如,在单元格中输入新值,即计为修改而非更改)。
ON_FORM_SUBMITEnum该触发器会在用户响应 Google 表单时触发。
ON_CHANGEEnum该触发器会在用户更改 Google 表格文件(例如,添加一行,计为更改而非修改)时触发。
ON_EVENT_UPDATEDEnum一旦在指定 Google 日历中创建、更新或删除事件,该触发器便会触发。

FormTriggerBuilder

方法

方法返回类型简介
create()Trigger创建并返回新触发器。
onFormSubmit()FormTriggerBuilder指定在有响应提交至表单时触发的触发器。
onOpen()FormTriggerBuilder指定在表单的“修改”视图打开时触发的触发器。

InstallationSource

属性

媒体资源类型说明
APPS_MARKETPLACE_DOMAIN_ADD_ONEnum管理员为用户网域安装了插件。
NONEEnum脚本未作为插件运行。
WEB_STORE_ADD_ONEnum插件是由用户从 Chrome 应用商店安装的。

ScriptApp

属性

媒体资源类型说明
AuthModeAuthMode一个枚举,用于标识 Apps 脚本可以通过触发的函数执行哪些类别的授权服务。
AuthorizationStatusAuthorizationStatus用于表示脚本的授权状态的枚举。
EventTypeEventType表示触发的事件类型的枚举。
InstallationSourceInstallationSource一个枚举,表示脚本是如何作为插件安装给用户的。
TriggerSourceTriggerSource一个枚举,用于表示导致触发器触发的事件的来源。
WeekDayWeekday表示星期几的枚举。

方法

方法返回类型简介
deleteTrigger(trigger)void移除指定的触发器,使其不再运行。
getAuthorizationInfo(authMode)AuthorizationInfo获取一个对象,用于确定用户是否需要授权此脚本使用一项或多项服务,并提供授权对话框的网址。
getIdentityToken()String如果已授予 openid 范围,则获取有效用户的 OpenID Connect 身份令牌。
getInstallationSource()InstallationSource返回一个枚举值,指示该脚本如何作为插件提供给当前用户(例如,用户是否通过 Chrome 应用商店自行安装,或者网域管理员是否为所有用户安装了该脚本)。
getOAuthToken()String获取有效用户的 OAuth 2.0 访问令牌
getProjectTriggers()Trigger[]获取与当前项目和当前用户关联的所有可安装触发器。
getScriptId()String获取脚本项目的唯一 ID。
getService()Service获取一个对象,用于控制将脚本发布为 Web 应用。
getUserTriggers(document)Trigger[]在给定文档中,获取此用户拥有的所有可安装触发器(仅针对此脚本或插件)。
getUserTriggers(form)Trigger[]仅针对此脚本或插件,以给定的形式获取此用户拥有的所有可安装触发器。
getUserTriggers(spreadsheet)Trigger[]在指定电子表格中获取此用户拥有的所有可安装触发器(仅针对此脚本或插件)。
invalidateAuth()void使有效用户拥有执行当前脚本的授权失效。
newStateToken()StateTokenBuilder为可用于回调 API(如 OAuth 流程)的状态令牌创建构建器。
newTrigger(functionName)TriggerBuilder开始创建可安装的触发器,该触发器在触发时会调用指定函数。

Service

方法

方法返回类型简介
getUrl()String如果 Web 应用已部署,则返回网址;否则返回 null
isEnabled()Boolean如果脚本可作为 Web 应用访问,则返回 true

SpreadsheetTriggerBuilder

方法

方法返回类型简介
create()Trigger创建触发器并将其返回。
onChange()SpreadsheetTriggerBuilder指定在电子表格的内容或结构发生更改时触发的触发器。
onEdit()SpreadsheetTriggerBuilder指定在修改电子表格时触发的触发器。
onFormSubmit()SpreadsheetTriggerBuilder指定在有表单提交至电子表格时触发的触发器。
onOpen()SpreadsheetTriggerBuilder指定在打开电子表格时触发的触发器。

StateTokenBuilder

方法

方法返回类型简介
createToken()String构造状态令牌的加密字符串表示。
withArgument(name, value)StateTokenBuilder向令牌添加参数。
withMethod(method)StateTokenBuilder设置回调函数。
withTimeout(seconds)StateTokenBuilder设置令牌的有效时长(以秒为单位)。

Trigger

方法

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

TriggerBuilder

方法

方法返回类型简介
forDocument(document)DocumentTriggerBuilder创建并返回与指定文档绑定的 DocumentTriggerBuilder
forDocument(key)DocumentTriggerBuilder创建并返回与具有指定 ID 的文档关联的 DocumentTriggerBuilder
forForm(form)FormTriggerBuilder创建并返回与指定表单关联的 FormTriggerBuilder
forForm(key)FormTriggerBuilder创建并返回与具有指定 ID 的表单关联的 FormTriggerBuilder
forSpreadsheet(sheet)SpreadsheetTriggerBuilder创建并返回与指定电子表格关联的 SpreadsheetTriggerBuilder
forSpreadsheet(key)SpreadsheetTriggerBuilder创建并返回与具有指定 ID 的电子表格关联的 SpreadsheetTriggerBuilder
forUserCalendar(emailId)CalendarTriggerBuilder返回用于构建日历触发器的构建器。
timeBased()ClockTriggerBuilder创建并返回用于构建基于时间的触发器的 ClockTriggerBuilder

TriggerSource

属性

媒体资源类型说明
SPREADSHEETSEnumGoogle 表格会导致触发器触发。
CLOCKEnum时间驱动的事件会导致触发器触发。
FORMSEnumGoogle 表单会导致触发器触发。
DOCUMENTSEnumGoogle 文档导致触发器触发。
CALENDAREnumGoogle 日历导致触发器触发。