Script Service

脚本

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

名称简介
AuthMode一个枚举,用于标识 Apps Script 能够通过触发的函数执行哪些类别的已获授权服务。
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获取可用于授予对脚本的访问权限的授权网址。
getAuthorizedScopes()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 Script 能够通过触发的函数执行哪些类别的已获授权服务。
AuthorizationStatusAuthorizationStatus用于表示脚本授权状态的枚举。
EventTypeEventType一个枚举,表示触发的事件类型。
InstallationSourceInstallationSource一个枚举,表示脚本是如何作为插件安装给用户的。
TriggerSourceTriggerSource一个枚举,表示导致触发器触发的事件的来源。
WeekDayWeekday表示星期几的枚举。

方法

方法返回类型简介
deleteTrigger(trigger)void移除给定触发器,使其不再运行。
getAuthorizationInfo(authMode)AuthorizationInfo获取一个对象,用于检查用户是否已授予对所有脚本要求的授权。
getAuthorizationInfo(authMode, oAuthScopes)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开始创建可安装的触发器,该触发器在触发时会调用给定函数。
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 日历会触发该触发器。