本頁面說明 Google Chat 應用程式如何接收及回應 Google Chat 中的事件。
Google Chat 事件代表的是 Chat 中的活動或變更,例如聊天室中的新訊息。Chat 應用程式可以利用事件瞭解情況,並對使用者採取有意義的行動或做出回應。
以下舉例說明事件的使用方式:
- 監控及回應聊天室中的新訊息,例如檢查關鍵字或詞組。
- 在使用者加入聊天室時傳送歡迎訊息、說明聊天室規範,或分享如何有效使用 Chat 應用程式的訣竅。
- 追蹤及分析 Chat 活動。舉例來說,如要針對新成員或獲得最多回應或回覆的訊息傳送每月報表,
- 透過各種訊息平台進行通訊。例如,使用者不必離開 Chat,就可以透過其他訊息平台傳送及接收使用者的訊息。
事件的運作方式
每當 Google Chat 發生任何情況時,系統就會建立、更新或刪除 Google Chat API 資源。Chat 會透過事件將發生的活動類型以及受影響的 Chat API 資源傳送至 Chat 應用程式。
Chat 會依類型將事件分類。事件類型可協助您篩選並接收需要的資訊類型,並且能透過相同方式處理類似的活動。
下表顯示 Chat 中的活動對相關 Chat API 資源的影響,以及 Chat 應用程式接收的事件類型:
活動 | Chat API 資源 | 事件類型 |
---|---|---|
使用者在 Chat 聊天室中張貼訊息 | 建立 Message 資源。 |
新訊息 |
使用者將成為聊天室管理員。 | 已更新 Membership 資源。 |
已更新會籍 |
使用者回應訊息。 | 建立 Reaction 資源。 |
新回應 |
使用者離開聊天室。 | 已刪除 Membership 資源。 |
已刪除的會員資格 |
接收 Google Chat 的事件
如要接收事件,Chat 應用程式可以執行下列任一操作:
- 使用 Google Workspace Event API 訂閱事件,即可在事件發生時接收。
- 呼叫 Chat API,查詢近期事件。
下表說明查詢或訂閱事件的差異和原因:
訂閱事件 | 查詢事件 | |
---|---|---|
用途 |
|
|
API | Google Workspace Event API | Chat API |
事件來源 | 聊天室和使用者 | 僅限聊天室 |
支援的事件 |
如需支援的事件類型清單,請參閱 Google Workspace Event 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 Event API subscriptions.create()
方法,以訂閱所有類型的成員資格事件空間。建立訂閱項目後,Chat 應用程式就可以開始接收成員事件。
在圖 2 中,Chat 應用程式已訂閱有效的聊天室,因此每當聊天室成員變更時,應用程式都會收到事件。接著,Chat 應用程式就可以即時處理或回應任何活動,例如向加入聊天室的成員發布私人歡迎訊息。
如要瞭解如何使用 Google Workspace Event API 建立訂閱,請參閱 Google Workspace Event 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.workspace.chat.spaces.v1.updated
)。 - 如要接收成員資格事件,使用者必須是聊天室的直接成員。如果使用者是透過 Google 群組間接新增、更新或移除聊天室,訂閱項目並不會收到這類成員事件。如要瞭解 Google 群組成員的運作方式,請參閱將 Google 群組新增至聊天室。
相關主題
- Google Workspace Event API 總覽
- 建立訂閱項目
- 取得 Google Chat 聊天室活動的詳細資料
- 列出 Google Chat 聊天室中的事件
- 如需事件使用範例,請參閱使用 Gemini AI Chat 應用程式,根據即時通訊對話內容回答問題教學課程