將 Chat 應用程式與其他服務和工具連結

本頁面說明如何連結 Google Chat 應用程式與 Google Chat 以外的服務或工具。雖然 Chat 本身本身就十分強大,但往往會與其他系統搭配使用,並需要搭配的應用程式來連結帳戶、授權資料存取權、顯示其他資料,或調整使用者偏好設定。

要求使用者設定即時通訊應用程式設定

如果完成要求需要的額外設定無法直接在 Chat 應用程式中完成,請將設定網址透過一般回覆的形式傳回給使用者,或是以不公開的方式顯示,格式如下:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

這會指示 Google Chat 向使用者顯示私人提示,其中 CONFIGURATION_URL 是一個連結,可供使用者前往進行其他驗證、授權或設定。REQUEST_CONFIG 回應與一般回應訊息彼此互斥。系統會忽略所有文字、資訊卡或其他屬性。

完成設定要求

即時通訊應用程式收到的每個 MESSAGE 互動事件也都會包含 configCompleteRedirectUrl 參數。這個網址在設定網址中進行編碼,以便完成程序。重新導向至這個網址會向 Google Chat 表明設定要求已完成。

Chat 應用程式啟動時,流程會視收到的特定訊息而定。為了回應 @app help 這類訊息,Chat 應用程式應以訊息回覆,且不必進行額外設定。

當使用者成功重新導向至原始訊息中提供的 configCompleteRedirectUrl 時,Google Chat 會執行下列步驟:

  1. 清除啟動中使用者看到的提示。
  2. 將原始訊息轉換為公開訊息,讓聊天室的其他成員都能看到。
  3. 再次將原始訊息傳送至同一個 Chat 應用程式。

造訪 configCompleteRedirectUrl 只會影響單一使用者訊息。如果使用者多次嘗試傳送訊息給 Chat 應用程式,因而收到多個提示,請點選特定提示並完成驗證和設定程序,只會影響該特定訊息。其他訊息則不會變更。

如果以這種方式重新傳送 MESSAGE 互動事件,則該事件應與原始事件相同,但在某些情況下,MESSAGE 互動事件可能會有所不同。舉例來說,如果訊息同時提及 Chat 應用程式 A 和 Chat 應用程式 B,如果 Chat 應用程式 A 在向 Chat 應用程式 B 進行驗證前傳送一般訊息回應,則使用者可以編輯訊息。在這種情況下,Chat 應用程式 B 會在使用者完成驗證和設定後收到編輯後的訊息文字。

在 Chat 外驗證 Chat 使用者

在某些情況下 (例如要求 API 的 OAuth 授權),您的應用程式需要連結至 Chat 以外的網址,同時保留使用者身分。在這些情況下識別使用者的最佳方式,是使用 Google 登入保護目標應用程式。

使用登入期間核發的身分識別權杖取得使用者 ID。sub 憑證附加資訊包含使用者的專屬 ID,可與 Google Chat 中的使用者 ID 建立關聯。

雖然這兩個 ID 不完全相同,但可能會強制轉換。如要將 sub 要求值強制強制轉換為 Google Chat users/{user},請在該值前面加上 users/。舉例來說,123 聲明值等同於 Chat 應用程式訊息中的使用者名稱 users/123