事件物件

簡易觸發條件可安裝的觸發條件允許 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

ScriptApp.AuthMode 列舉中的值。

LIMITED
source

Spreadsheet 物件,代表指令碼繫結的 Google 試算表檔案。

Spreadsheet
triggerUid

產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。

4034124084959907503
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com

變更

(可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

FULL
changeType

變更類型 (EDITINSERT_ROWINSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMATOTHER)。

INSERT_ROW
source

Spreadsheet 物件,代表指令碼所屬的 Google 試算表檔案 繫結。

Spreadsheet
triggerUid

產生此事件的觸發條件 ID。

4034124084959907503
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com

編輯

(簡單可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

LIMITED
oldValue

編輯之前的儲存格值 (如果有的話)。只有在編輯後才能使用 且範圍是單一儲存格如果儲存格沒有前一個值,則為未定義 內容。

1234
range

Range 物件 代表編輯的儲存格或儲存格範圍。

Range
source

Spreadsheet 物件,代表指令碼繫結的 Google 試算表檔案。

Spreadsheet
triggerUid

產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。

4034124084959907503
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com
value

編輯後的新儲存格值。只有在編輯的範圍為 單一儲存格。

10

提交表單

(可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

FULL
namedValues

包含表單提交中問題名稱和值的物件。

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Range 物件 代表編輯的儲存格或儲存格範圍。

Range
triggerUid

產生此事件的觸發條件 ID。

4034124084959907503
values

陣列值與試算表中顯示的順序相同。

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Google 文件活動

觸發條件可讓 Google 文件在使用者開啟文件時回應要求。

開啟

(簡單可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

LIMITED
source

Document 物件 ,代表指令碼繫結的 Google 文件檔案。

Document
triggerUid

產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。

4034124084959907503
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com

Google 簡報活動

觸發條件可讓 Google 簡報在使用者開啟簡報時回應回應。

開啟

(簡單)
authMode

ScriptApp.AuthMode 列舉中的值。

LIMITED
source

Presentation 物件 ,代表指令碼繫結的 Google 簡報檔案。

Presentation
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com

Google 表單活動

Google 表單專屬觸發條件可讓指令碼在使用者編輯表單時做出回應 或提交回應

開啟

* (簡單可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

LIMITED
source

Form 物件 ,代表指令碼繫結的 Google 表單檔案。

Form
triggerUid

產生此事件的觸發條件 ID (僅限可安裝的觸發條件)。

4034124084959907503
user

User 物件 代表活躍使用者 (如有) (受到一組複雜的安全性限制)。

amin@example.com

* 如果使用者開啟表單回應,而非 當編輯者開啟表單進行修改時。

提交表單

(可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

FULL
response

FormResponse 物件 代表使用者對整個表單的回覆

FormResponse
source

Form 物件 ,代表指令碼繫結的 Google 表單檔案。

Form
triggerUid

產生此事件的觸發條件 ID。

4034124084959907503

Google 日曆活動

使用者的日曆活動更新時 (建立 編輯或刪除)。

但請放心,這些觸發條件不會指出哪個事件有變動,或是該事件的變更方式。 而是表示程式碼需要執行漸進式同步作業 以接收日曆最近所做的變更。詳細說明 請參閱 同步處理資源指南日曆 API

如要與 Apps Script 中的 Google 日曆同步處理,請執行下列步驟:

  1. 為以下使用者啟用日曆進階服務: 建立 Deployment內建 Google 日曆服務不足以滿足您的需求 這個工作流程中
  2. 決定要同步處理的日曆。對於每個這類日曆 執行初始同步處理 即可使用 Google 日曆進階服務的 Events.list() 方法。
  3. 初次同步處理的結果會傳回該日曆的 nextSyncToken。 請儲存這個憑證,以便日後使用。
  4. Apps Script EventUpdated 觸發條件觸發並顯示日曆時 事件變更時,執行漸進式同步作業 ,為受影響的日曆使用儲存的 nextSyncToken。這是 也就是另一個 Events.list() 但提供 nextSyncToken 會將回應限制為 活動。
  5. 檢查同步處理的回應,瞭解有哪些事件已更新,以及 確保程式碼能正確回應例如,您可以記錄變更 更新試算表、傳送電子郵件通知或執行其他操作。
  6. 將你為該日曆儲存的nextSyncToken更新為傳回日曆 額外資料。這會強制下一次同步處理作業, 只會傳回最新的變更

EventUpdated

(可安裝)
authMode

ScriptApp.AuthMode敬上 列舉。

FULL
calendarId

發生事件更新的日曆字串 ID。

susan@example.com
triggerUid

產生此事件的觸發條件 ID。

4034124084959907503

Google Workspace 外掛程式活動

系統會執行 onInstall() 觸發條件 在使用者安裝外掛程式時自動啟用。

安裝

(簡單)
authMode

ScriptApp.AuthMode 列舉中的值。

FULL

Google Chat 應用程式事件

如要瞭解 Google Chat 中的事件物件,請參閱 接收及回覆與 Google Chat 應用程式的互動

時間導向事件

時間型觸發條件 (也稱為時鐘觸發條件) 可讓指令碼在特定時間或 週期性間隔。

時間導向 (可安裝)
authMode

ScriptApp.AuthMode 列舉中的值。

FULL
day-of-month

介於 131之間。

因為此屬性名稱含有破折號 e['day-of-month'],而非點號標記。

31
day-of-week

介於 1 (週一) 至7 (週日) 之間。

因為此屬性名稱含有破折號 e['day-of-week'],而非點號標記。

7
hour

介於 023之間。

23
minute

介於 059之間。

59
month

介於 112之間。

12
second

介於 059之間。

59
timezone

時區。

UTC
triggerUid

產生此事件的觸發條件 ID。

4034124084959907503
week-of-year

介於 152之間。

因為此屬性名稱含有破折號 e['week-of-year'],而非點號標記。

52
year

所屬年。

2015