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

本頁面說明如何將 Google Chat 應用程式連結至 Google Chat 以外的服務或工具。即時通訊應用程式可單獨提供強大功能,但通常能與其他系統搭配運作,並要求隨附應用程式才能連結帳戶、授權資料存取權、顯示額外資料,或調整使用者的偏好設定。

要求使用者授予 Chat 應用程式設定

如果要求所需的額外設定無法在 Chat 應用程式中直接完成,請在一般回覆中傳回設定網址,或是以私密方式呈現,請使用下方表單:

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

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

完成設定要求

Chat 應用程式收到的每個 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