接收及回覆 Google Chat 應用程式的互動情形

本頁面說明 Google Chat 應用程式如何接收及回應使用者互動,也稱為 Google Chat 應用程式互動事件

Google Chat 應用程式互動事件代表使用者叫用 Chat 應用程式或與應用程式互動的任何動作,例如使用 @號提及 Chat 應用程式或將其新增至聊天室。使用者與 Chat 應用程式互動時,Google Chat 會傳送互動事件給 Chat 應用程式。Chat 應用程式可以使用事件處理互動並建立回應。

舉例來說,即時通訊應用程式會使用互動事件執行下列任一操作:

互動事件範例 Chat 應用程式提供的常見回覆
使用者可以透過 @ 號提及應用程式,或是使用斜線指令,叫用 Chat 應用程式。 Chat 應用程式會處理訊息內容,以便建立訊息。舉例來說,Chat 應用程式回覆了 /about 指令時,會以訊息說明 Chat 應用程式可執行的工作。
使用者將 Chat 應用程式新增至聊天室。 Chat 應用程式會傳送新手上路訊息,說明應用程式的用途,以及聊天室中的使用者如何與這項功能互動。
使用者從聊天室中移除 Chat 應用程式。 Chat 應用程式會移除針對聊天室設定的所有傳入通知 (例如刪除 Webhook),並清除所有內部儲存空間。
使用者點選 Chat 應用程式傳送的資訊卡或對話方塊上的按鈕。 Chat 應用程式會處理及儲存使用者提交的任何資料,或傳回其他資訊卡或對話方塊。

針對每種使用者互動類型,Google Chat 會傳送不同類型的互動事件。舉例來說,Google Chat 會針對使用者在訊息中叫用 Chat 應用程式的任何互動,使用 MESSAGE 事件類型。詳情請參閱「Google Chat 應用程式互動事件類型」。

本頁面說明如何執行下列操作:

  • 設定 Chat 應用程式以接收事件。
  • 在基礎架構上處理互動事件。
  • 在適當的情況下回應互動事件。

接收 Chat 應用程式互動事件

本節說明如何接收及處理 Chat 應用程式的互動事件。

設定 Chat 應用程式以接收互動事件

並非所有 Chat 應用程式都是互動式應用程式。例如,連入 Webhook 只能傳送外寄郵件,無法回應使用者。如要建構互動式 Chat 應用程式,您必須選擇可讓 Chat 應用程式接收、處理及回應互動事件的端點。如要進一步瞭解如何設計 Chat 應用程式,請參閱「Chat 應用程式的實作架構」。

如果您已建構互動式 Chat 應用程式,則必須設定 Google Chat API,讓 Google Chat 可以傳送互動事件:

  1. 在 Google Cloud 控制台中開啟 Google Chat API 頁面:

    前往「Google Chat API」頁面

  2. 按一下 [設定] 分頁標籤。
  3. 在「互動功能」部分,按一下「啟用互動功能」切換鈕,切換至開啟位置。
  4. 在「功能」中,勾選下列其中一個核取方塊,或兩者都勾選:
    1. 接收 1:1 訊息:讓使用者在即時訊息 (DM) 聊天室中與 Chat 應用程式互動。每當使用者在即時訊息聊天室中傳送訊息時,Chat 應用程式都會收到互動事件。
    2. 加入聊天室和群組對話:允許使用者在有多人的聊天室中加入及移除 Chat 應用程式。每當 Chat 有使用者在聊天室中新增或移除應用程式,或使用者在聊天室中使用 @號提及或使用斜線指令時,都會收到互動事件。
  5. 在「連線設定」中,指定 Google Chat 傳送 Chat 應用程式互動事件的位置。
  6. 選用:在「斜線指令」中新增及設定一或多個斜線指令。詳情請參閱「設定斜線指令」。
  7. 選用:在「連結預覽」中,新增及設定一或多個 Chat 應用程式預覽的網址模式。詳情請參閱「預覽連結」。
  8. 點按「儲存」

Chat 應用程式現已設定可接收來自 Google Chat 的互動事件。

處理服務的 HTTP 呼叫重試

如果傳送至服務的 HTTPS 要求失敗 (例如逾時、暫時網路故障或非 2xx 的 HTTPS 狀態碼),Google Chat 可能會在幾分鐘內重試傳送 (但無法保證)。因此,Chat 應用程式在某些情況下可能會收到相同的訊息數次。如果要求成功完成,但傳回無效的訊息酬載,Google Chat 就不會重試要求。

處理或回應互動事件

本節說明 Google Chat 應用程式如何處理及回應互動事件。

Chat 應用程式收到來自 Google Chat 的互動事件後,就能以多種方式回應。在許多情況下,互動式 Chat 應用程式會透過訊息回覆使用者。Google Chat 應用程式也可以從資料來源查詢部分資訊、記錄互動事件資訊,或是提供其他任何資訊。這個處理行為基本上就是 Google Chat 應用程式的定義。

每個互動事件都會收到「要求主體」,這是代表事件的 JSON 酬載。您可以使用該資訊來處理回應。如需事件酬載的範例,請參閱「Chat 應用程式互動事件類型」。

下圖說明 Google Chat 應用程式一般如何處理或回應不同類型的互動事件:

Google Chat 應用程式如何處理互動事件的架構。

即時回覆

互動事件可讓即時通訊應用程式即時回應 (或同步)。同步回應不需要驗證

如要建立對互動事件的同步回應,請參閱下列指南:

如要同步回應,Chat 應用程式必須在 30 秒內回應,而且必須將回應張貼在發生互動的空間。否則,Chat 應用程式可以以非同步方式回應。

以非同步方式回應

有時 Chat 應用程式必須在 30 秒後回應互動事件,或是在產生互動事件的聊天室外執行工作。例如,Chat 應用程式可能需要在完成長時間執行的工作後回應使用者。在這種情況下,Chat 應用程式可以呼叫 Google Chat API,以非同步方式回應。

如要使用 Chat API 建立訊息,請參閱「建立訊息」。如要瞭解使用其他 Chat API 方法的指南,請參閱「Chat API 總覽」。