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|null获取可用于授予脚本访问权限的授权网址。
getAuthorizedScopes()String[]|null获取脚本的授权范围列表。

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获取一个对象,用于检查用户是否已授予所有脚本要求的授权。
getAuthorizationInfo(authMode, oAuthScopes)AuthorizationInfo获取一个对象,用于检查用户是否已授予对所请求范围的授权。
getIdentityToken()String|null如果已授予 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开始创建可安装的触发器,该触发器在触发时会调用给定的函数。
requireAllScopes(authMode)void验证用户是否已针对脚本请求的所有范围授予同意声明。
requireScopes(authMode, oAuthScopes)void验证用户是否已针对所请求的范围授予同意。

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 日历导致触发器触发。