使用 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 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 應用程式就可以開始接收成員事件。

使用 Google Workspace Event API 訂閱事件的即時通訊應用程式。
圖 2.Chat 應用程式會使用 Google Workspace Event API 透過訂閱接收成員資格事件。

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

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

查詢近期成員事件

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

使用 Chat API 查詢事件的即時通訊應用程式。
圖 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.workspace.chat.spaces.v1.updated)。
  • 如要接收成員資格事件,使用者必須是聊天室的直接成員。如果使用者是透過 Google 群組間接新增、更新或移除聊天室,訂閱項目並不會收到這類成員事件。如要瞭解 Google 群組成員的運作方式,請參閱將 Google 群組新增至聊天室