使用 Google Chat 中的活動

本頁說明 Google Chat 應用程式如何接收及回應 Google Chat 中的事件。

Google Chat 事件代表 Chat 中的活動或變更,例如聊天室中的新訊息。Chat 應用程式可透過事件瞭解發生了什麼事,並採取行動或以有意義的方式回應使用者。

以下列舉幾個事件用途:

  • 監控及回覆聊天室中的新訊息,例如檢查關鍵字或詞組。
  • 在使用者加入聊天室時傳送歡迎訊息,說明聊天室規範或分享 Chat 應用程式的使用訣竅。
  • 追蹤及分析 Chat 活動。舉例來說,您可以傳送新成員的每月報表,或是獲得最多回應或回覆的訊息。
  • 在各個訊息平台進行通訊。舉例來說,使用者不必離開 Chat,就能與其他訊息平台的使用者互傳訊息。

活動的運作方式

每當 Google Chat 發生事件時,系統就會建立、更新或刪除 Google Chat API 資源。Chat 會使用事件將發生的活動類型和受影響的 Chat API 資源等資訊,傳送給 Chat 應用程式。

範例:在 Google Chat 聊天室中張貼訊息會如何觸發事件。
圖 1. 使用者在 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 應用程式即可開始接收成員事件。

使用 Google Workspace Events API 訂閱事件的 Chat 應用程式。
圖 2. Chat 應用程式會透過 Google Workspace Events API 訂閱,接收成員資格事件。

在圖 2 中,Chat 應用程式已有效訂閱聊天室,因此只要聊天室成員資格有異動,應用程式就會收到事件。接著,Chat 應用程式就能即時處理或回應任何活動,例如向加入聊天室的成員發布私人歡迎訊息。

如要瞭解如何使用 Google Workspace Events API 建立訂閱項目,請參閱 Google Workspace Events API 說明文件

查詢近期會員活動

Chat 應用程式不必在成員資格事件發生時接收事件,而是可以呼叫 Chat API,列出與成員資格活動相關的近期聊天室事件。

使用 Chat API 查詢事件的 Chat 應用程式。
圖 3. 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 群組新增至聊天室」。