Script Service

  • The Script service provides access to script triggers and script publishing.

  • It includes classes for managing authorization modes, statuses, and information.

  • Various trigger builders are available for specific event types like calendar, clock, document, form, and spreadsheet.

  • The ScriptApp class allows access to properties like AuthMode, EventType, and TriggerSource, and methods for managing triggers and getting authorization information.

  • The Service class provides methods to check the status and URL of a published web app.

This service provides access to script triggers and script publishing.

Classes

AuthMode

Properties

PropertyTypeDescription
NONEEnumA mode that does not allow access to any services that require authorization.
CUSTOM_FUNCTIONEnumA mode that allows access to a limited subset of services for use in custom spreadsheet functions.
LIMITEDEnumA mode that allows access to a limited subset of services.
FULLEnumA mode that allows access to all services that require authorization.

Methods

MethodReturn typeBrief description
getAuthorizationStatus()AuthorizationStatusGets a value that indicates whether the user needs to authorize this script to use one or more services (for example, ScriptApp.AuthorizationStatus.REQUIRED).
getAuthorizationUrl()String|nullGets the authorization URL that can be used to grant access to the script.
getAuthorizedScopes()String[]|nullGets a list of authorized scopes for the script.

AuthorizationStatus

Properties

PropertyTypeDescription
REQUIREDEnumThe user needs to authorize this script to use one or more services.
NOT_REQUIREDEnumThe user has granted this script all the authorization it currently requires.

CalendarTriggerBuilder

ClockTriggerBuilder

DocumentTriggerBuilder

EventType

Properties

PropertyTypeDescription
CLOCKEnumThe trigger fires once the time-driven event reaches a specific time.
ON_OPENEnumThe trigger fires once the user opens the Google Docs, Sheets, or Forms file.
ON_EDITEnumThe trigger fires once the user edits the Google Sheets file (for example, by entering a new value into a cell, which counts as an edit instead of a change).
ON_FORM_SUBMITEnumThe trigger fires once the user responds to a Google Form.
ON_CHANGEEnumThe trigger fires once the user changes the Google Sheets file (for example, by adding a row, which counts as a change instead of an edit).
ON_EVENT_UPDATEDEnumThe trigger fires once an event gets created, updated, or deleted on the specified Google Calendar.

FormTriggerBuilder

InstallationSource

Properties

PropertyTypeDescription
APPS_MARKETPLACE_DOMAIN_ADD_ONEnumAdd-on was installed by the administrator for the user's domain.
NONEEnumScript is not running as an add-on.
WEB_STORE_ADD_ONEnumAdd-on was installed by the user from the Chrome Web Store.

ScriptApp

Properties

PropertyTypeDescription
AuthModeAuthModeAn enumeration that identifies which categories of authorized services Apps Script is able to execute through a triggered function.
AuthorizationStatusAuthorizationStatusAn enumeration denoting the authorization status of a script.
EventTypeEventTypeAn enumeration denoting the type of triggered event.
InstallationSourceInstallationSourceAn enumeration denoting how the script was installed to the user as an add-on.
TriggerSourceTriggerSourceAn enumeration denoting the source of the event that causes the trigger to fire.
WeekDayWeekdayAn enumeration representing the days of the week.

Methods

MethodReturn typeBrief description
deleteTrigger(trigger)voidRemoves the given trigger so it no longer runs.
getAuthorizationInfo(authMode)AuthorizationInfoGets an object that checks if the user has granted authorization for all the script requirements.
getAuthorizationInfo(authMode, oAuthScopes)AuthorizationInfoGets an object that checks if the user has granted authorization for the requested scopes.
getIdentityToken()String|nullGets an OpenID Connect identity token for the effective user, if the openid scope has been granted.
getInstallationSource()InstallationSourceReturns an enum value that indicates how the script came to be installed as an add-on for the current user (for example, whether the user installed it personally through the Chrome Web Store, or whether a domain administrator installed it for all users).
getOAuthToken()StringGets the OAuth 2.0 access token for the effective user.
getProjectTriggers()Trigger[]Gets all installable triggers associated with the current project and current user.
getScriptId()StringGets the script project's unique ID.
getService()ServiceGets an object used to control publishing the script as a web app.
getUserTriggers(document)Trigger[]Gets all installable triggers owned by this user in the given document, for this script or add-on only.
getUserTriggers(form)Trigger[]Gets all installable triggers owned by this user in the given form, for this script or add-on only.
getUserTriggers(spreadsheet)Trigger[]Gets all installable triggers owned by this user in the given spreadsheet, for this script or add-on only.
invalidateAuth()voidInvalidates the authorization the effective user has to execute the current script.
newStateToken()StateTokenBuilderCreates a builder for a state token that can be used in a callback API (like an OAuth flow).
newTrigger(functionName)TriggerBuilderBegins the process of creating an installable trigger that, when fired, calls a given function.
requireAllScopes(authMode)voidValidates if the user has granted consent for all of the scopes requested by the script.
requireScopes(authMode, oAuthScopes)voidValidates if the user has granted consent for the requested scopes.

Methods

MethodReturn typeBrief description
getUrl()StringReturns the URL of the web app, if it has been deployed; otherwise returns null.
isEnabled()BooleanReturns true if the script is accessible as a web app.

SpreadsheetTriggerBuilder

StateTokenBuilder

Trigger

TriggerBuilder

TriggerSource

Properties

PropertyTypeDescription
SPREADSHEETSEnumGoogle Sheets causes the trigger to fire.
CLOCKEnumA time-driven event causes the trigger to fire.
FORMSEnumGoogle Forms causes the trigger to fire.
DOCUMENTSEnumGoogle Docs causes the trigger to fire.
CALENDAREnumGoogle Calendar causes the trigger to fire.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.