簡易觸發條件和
可安裝的觸發條件允許 Apps Script
當特定事件發生時,自動執行函式。當觸發條件啟動時
Apps Script 會將事件物件做為引數傳遞 (通常稱為
e
。事件物件含有引發
觸發。例如,以下範例顯示簡易的 onEdit(e)
Google 試算表指令碼觸發條件,該指令碼會使用事件物件判斷
已編輯儲存格。
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}
這個網頁會針對不同類型的資料,詳細列出事件物件中的欄位 觸發事件
Google 試算表活動
下列各種 Google 試算表專屬觸發條件可讓指令碼回應使用者的
開啟(簡單 且可安裝) |
|
---|---|
authMode |
LIMITED |
source |
Spreadsheet |
triggerUid |
產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。 4034124084959907503 |
user |
amin@example.com |
變更(可安裝) |
|
---|---|
authMode |
FULL |
changeType |
變更類型 ( INSERT_ROW |
source |
Spreadsheet |
triggerUid |
產生此事件的觸發條件 ID。 4034124084959907503 |
user |
amin@example.com |
編輯(簡單 且可安裝) |
|
---|---|
authMode |
LIMITED |
oldValue |
編輯之前的儲存格值 (如果有的話)。只有在編輯後才能使用 且範圍是單一儲存格如果儲存格沒有前一個值,則為未定義 內容。 1234 |
range |
Range |
source |
Spreadsheet |
triggerUid |
產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。 4034124084959907503 |
user |
amin@example.com |
value |
編輯後的新儲存格值。只有在編輯的範圍為 單一儲存格。 10 |
提交表單(可安裝) |
|
---|---|
authMode |
FULL |
namedValues |
包含表單提交中問題名稱和值的物件。 { 'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'] } |
range |
Range |
triggerUid |
產生此事件的觸發條件 ID。 4034124084959907503 |
values |
陣列值與試算表中顯示的順序相同。 ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google 文件活動
觸發條件可讓 Google 文件在使用者開啟文件時回應要求。
開啟(簡單 且可安裝) |
|
---|---|
authMode |
LIMITED |
source |
Document |
triggerUid |
產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。 4034124084959907503 |
user |
amin@example.com |
Google 簡報活動
觸發條件可讓 Google 簡報在使用者開啟簡報時回應回應。
開啟(簡單) |
|
---|---|
authMode |
LIMITED |
source |
Presentation |
user |
amin@example.com |
Google 表單活動
Google 表單專屬觸發條件可讓指令碼在使用者編輯表單時做出回應 或提交回應
開啟* (簡單 且可安裝) |
|
---|---|
authMode |
LIMITED |
source |
Form |
triggerUid |
產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。 4034124084959907503 |
user |
amin@example.com |
* 如果使用者開啟表單回應,而非 當編輯者開啟表單進行修改時。
提交表單(可安裝) |
|
---|---|
authMode |
FULL |
response |
FormResponse |
source |
Form |
triggerUid |
產生此事件的觸發條件 ID。 4034124084959907503 |
Google 日曆活動
使用者的日曆活動更新時 (建立 編輯或刪除)。
但請放心,這些觸發條件不會指出哪個事件有變動,或是該事件的變更方式。 而是表示程式碼需要執行漸進式同步作業 以接收日曆最近所做的變更。詳細說明 請參閱 同步處理資源指南, 日曆 API:
如要與 Apps Script 中的 Google 日曆同步處理,請執行下列步驟:
- 為以下使用者啟用日曆進階服務: 建立 Deployment內建 Google 日曆服務不足以滿足您的需求 這個工作流程中
- 決定要同步處理的日曆。對於每個這類日曆 執行初始同步處理 即可使用 Google 日曆進階服務的 Events.list() 方法。
- 初次同步處理的結果會傳回該日曆的
nextSyncToken
。 請儲存這個憑證,以便日後使用。 - Apps Script
EventUpdated
觸發條件觸發並顯示日曆時 事件變更時,執行漸進式同步作業 ,為受影響的日曆使用儲存的nextSyncToken
。這是 也就是另一個 Events.list() 但提供nextSyncToken
會將回應限制為 活動。 - 檢查同步處理的回應,瞭解有哪些事件已更新,以及 確保程式碼能正確回應例如,您可以記錄變更 更新試算表、傳送電子郵件通知或執行其他操作。
- 將你為該日曆儲存的
nextSyncToken
更新為傳回日曆 額外資料。這會強制下一次同步處理作業, 只會傳回最新的變更
EventUpdated(可安裝) |
|
---|---|
authMode |
從
FULL |
calendarId |
發生事件更新的日曆字串 ID。 susan@example.com |
triggerUid |
產生此事件的觸發條件 ID。 4034124084959907503 |
Google Workspace 外掛程式活動
系統會執行 onInstall()
觸發條件
在使用者安裝外掛程式時自動啟用。
安裝(簡單) |
|
---|---|
authMode |
FULL |
Google Chat 應用程式事件
如要瞭解 Google Chat 中的事件物件,請參閱 接收及回覆與 Google Chat 應用程式的互動。
時間導向事件
時間型觸發條件 (也稱為時鐘觸發條件) 可讓指令碼在特定時間或 週期性間隔。
時間導向 (可安裝) | |
---|---|
authMode |
FULL |
day-of-month |
介於 因為此屬性名稱含有破折號
31 |
day-of-week |
介於 因為此屬性名稱含有破折號
7 |
hour |
介於 23 |
minute |
介於 59 |
month |
介於 12 |
second |
介於 59 |
timezone |
時區。 UTC |
triggerUid |
產生此事件的觸發條件 ID。 4034124084959907503 |
week-of-year |
介於 因為此屬性名稱含有破折號
52 |
year |
所屬年。 2015 |