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|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 Script 可透過觸發函式執行的授權服務類別。
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取得用於控制將指令碼發布為網頁應用程式的物件。
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如果已部署網頁應用程式,則傳回網頁應用程式的網址;否則傳回 null
isEnabled()Boolean如果指令碼可做為網頁應用程式存取,則傳回 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傳回可用於區分觸發條件的專屬 ID。

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 日曆會觸發動作。