將 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 應用程式 B 進行驗證前,如果 Chat 應用程式 A 傳回一般訊息的回應,使用者就可以編輯訊息。在這種情況下,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