本頁說明如何將 Google Chat 應用程式連結至 Google Chat 以外的服務或工具。雖然 Chat 應用程式本身功能強大,但通常會與其他系統搭配運作,並需要搭配應用程式才能連結帳戶、授權存取資料、顯示其他資料,或設定使用者偏好設定。
必要條件
已啟用互動功能的 Google Chat 應用程式。如要建立互動式 Chat 應用程式,請根據要使用的應用程式架構,完成下列其中一個快速入門:- 使用 Google Cloud Functions 提供HTTP 服務
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
向使用者要求 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 會執行下列步驟:
- 清除向發起者顯示的提示。
- 將原始訊息轉換為公開訊息,讓聊天室的其他成員也能看到。
- 將原始訊息傳送至同一 Chat 應用程式。
查看 configCompleteRedirectUrl
只會影響單一使用者訊息。如果使用者嘗試多次傳送訊息給 Chat 應用程式,因此收到多個提示,則點按特定提示並完成驗證和設定程序,只會影響該特定訊息。其他訊息則不會變更。
以這種方式重送 MESSAGE
互動事件時,該事件應與原始事件相同;不過,在某些情況下,MESSAGE
互動事件可能會有所不同。舉例來說,如果訊息同時提及 Chat app A 和 Chat app B,當 Chat app A 在與 Chat app B 進行驗證前以一般訊息回覆時,使用者就能編輯該訊息。在這個例子中,Chat app B 會在使用者完成驗證和設定後,收到已編輯的訊息文字。
在 Chat 外部驗證 Chat 使用者
在某些情況下 (例如為 API 要求 OAuth 授權),您的應用程式需要連結至 Chat 以外的網址,同時保留使用者身分。在這種情況下,使用 Google 登入功能保護目的地應用程式,是識別使用者的最佳做法。
使用登入期間核發的識別資訊權杖,取得使用者 ID。sub
宣告包含使用者的專屬 ID,可與 Google Chat 中的使用者 ID 建立關聯。
雖然這兩個 ID 不完全相同,但可以強制轉換。如要將 sub
要求的值強制轉換為 Google Chat users/{user}
,請在值前面加上 users/
。舉例來說,123
的聲明值等同於 Chat 應用程式訊息中的使用者名稱 users/123
。
相關主題
- 接收並回應使用者互動
- MyProfile 應用程式範例會使用 Google 登入回應中的 ID 權杖來識別使用者。