本頁說明 Google Chat 應用程式如何接收及回應 Google Chat 中的事件。
Google Chat 事件代表 Chat 中的活動或變更,例如聊天室中的新訊息。Chat 應用程式可透過事件瞭解發生了什麼事,並採取行動或以有意義的方式回應使用者。
以下列舉幾個事件用途:
- 監控及回覆聊天室中的新訊息,例如檢查關鍵字或詞組。
- 在使用者加入聊天室時傳送歡迎訊息,說明聊天室規範或分享 Chat 應用程式的使用訣竅。
- 追蹤及分析 Chat 活動。舉例來說,您可以傳送新成員的每月報表,或是獲得最多回應或回覆的訊息。
- 在各個訊息平台進行通訊。舉例來說,使用者不必離開 Chat,就能與其他訊息平台的使用者互傳訊息。
活動的運作方式
每當 Google Chat 發生事件時,系統就會建立、更新或刪除 Google Chat API 資源。Chat 會使用事件將發生的活動類型和受影響的 Chat API 資源等資訊,傳送給 Chat 應用程式。
Message
資源。然後,Chat 會建立包含新訊息資料的事件。Chat 會依類型分類事件。事件類型可協助您篩選並只接收需要的資訊類型,並以相同方式處理類似活動。
下表說明 Chat 中的活動如何影響相關的 Chat API 資源,以及 Chat 應用程式收到的事件類型:
活動 | Chat API 資源 | 事件類型 |
---|---|---|
使用者在 Chat 聊天室中張貼訊息 | 已建立 Message 資源。 |
新訊息 |
使用者成為聊天室管理員。 | 更新 Membership 資源。 |
已更新會員方案 |
使用者回應訊息。 | 已建立 Reaction 資源。 |
新回應 |
使用者離開聊天室。 | 已刪除 Membership 資源。 |
已刪除會員 |
接收 Google Chat 傳出的事件
如要接收事件,Chat 應用程式可以採取下列任一做法:
- 使用 Google Workspace Events API 訂閱事件,即可在事件發生時收到通知。
- 呼叫 Chat API,查詢近期事件。
下表說明查詢或訂閱事件的差異和原因:
訂閱事件 | 查詢事件 | |
---|---|---|
用途 |
|
|
API | Google Workspace Events API | Chat API |
事件來源 | 聊天室和使用者 | 僅限聊天室 |
支援的事件 |
如需支援的事件類型清單,請參閱 Google Workspace Events API 說明文件中的「 建立訂閱項目的事件類型」。 |
如需支援的事件類型清單,請參閱 Chat API 參考說明文件中的 spaceEvents 資源。
|
事件格式 | 根據 CloudEvent 規格格式化的 Google Cloud Pub/Sub 訊息。詳情請參閱「Google Workspace 事件的結構」。 |
Chat API 資源
(
spaces.spaceEvent )
|
事件資料 | Base64 編碼字串,可包含或不包含資源資料。如需範例酬載,請參閱「事件資料」。 | 包含資源資料的 JSON 酬載。部分事件類型只會包含特定資源欄位。如需有效負載範例,請參閱 參考說明文件。 |
示例:查詢或訂閱聊天室成員相關活動
在這個範例中,Chat 應用程式想要接收有關 Chat 聊天室成員變更的資訊。在空間中,會發生下列成員活動:
- 使用者加入聊天室,系統會建立
Membership
資源並觸發新成員事件。 - 使用者成為聊天室管理員,這會更新使用者的
Membership
資源,並觸發更新的成員事件。 - 使用者離開空間,系統會刪除該使用者的
Membership
資源,並觸發成員刪除事件。
訂閱會員事件
如要即時接收事件,Chat 應用程式會呼叫 Google Workspace Events API subscriptions.create()
方法,訂閱所有類型的成員資格事件。建立訂閱項目後,Chat 應用程式即可開始接收成員事件。
在圖 2 中,Chat 應用程式已有效訂閱聊天室,因此只要聊天室成員資格有異動,應用程式就會收到事件。接著,Chat 應用程式就能即時處理或回應任何活動,例如向加入聊天室的成員發布私人歡迎訊息。
如要瞭解如何使用 Google Workspace Events API 建立訂閱項目,請參閱 Google Workspace Events API 說明文件。
查詢近期會員活動
Chat 應用程式不必在成員資格事件發生時接收事件,而是可以呼叫 Chat API,列出與成員資格活動相關的近期聊天室事件。
在圖 3 中,Chat 應用程式會在所有成員活動發生後呼叫 Chat API spaces.spaceEvents.list()
方法,並篩選查詢,找出新增、更新及刪除的成員事件。Chat API 會傳回 spaceEvent
資源清單,代表每項成員資格變更。然後,Chat 應用程式就能根據近期活動處理或回應,例如發布每週訊息,當中包含過去 7 天的聊天室成員活動摘要。
如要使用 Chat API 查詢活動,請參閱「列出 Google Chat 聊天室的活動」。
限制
-
訂閱使用者時,只有在發布第一則訊息後,才會觸發有關即時訊息或未命名群組通訊中新成員的事件 (
google.workspace.chat.membership.v1.created
)。 - 如要接收成員事件,使用者必須是空間的直接成員。如果使用者是透過 Google 群組間接新增、更新或移除聊天室,訂閱項目不會收到這些成員事件。如要瞭解 Google 群組成員資格的運作方式,請參閱「將 Google 群組新增至聊天室」。
相關主題
- Google Workspace Events API 總覽
- 建立訂閱項目
- 取得 Google Chat 聊天室活動的詳細資料
- 列出 Google Chat 聊天室的活動
- 如需事件的使用範例,請參閱透過 Gemini AI Chat 擴充應用程式,依據 Chat 對話回答問題教學課程,或程式碼研究室「使用 Gemini 建構 Google Chat 應用程式」中的問題管理 Chat 應用程式包容性說明功能。