本頁說明如何建立 HTTP Chat 應用程式。實作此架構的方法有很多種。在 Google Cloud 上,您可以使用 Cloud Functions、Cloud Run 和 App Engine。在本快速入門課程中,您將編寫並部署 Cloud 函式,供 Chat 應用程式用來回覆使用者的訊息。
在這個架構中,您可以使用 HTTP 將 Chat 設定為與 Google Cloud 或內部部署伺服器整合,如以下圖所示:
在上方的圖表中,使用者與 HTTP Chat 應用程式互動時,資訊會按照以下流程傳送:
- 使用者透過即時訊息或 Chat 聊天室,在 Chat 中將訊息傳送至 Chat 應用程式。
- 系統會將 HTTP 要求傳送至包含 Chat 應用程式邏輯的雲端或內部部署系統的網路伺服器。
- 您可以選擇讓 Chat 應用程式邏輯整合 Google Workspace 服務 (例如日曆和試算表)、其他 Google 服務 (例如地圖、YouTube 和 Vertex AI),或其他網路服務 (例如專案管理系統或支援單工具)。
- 網路伺服器將 HTTP 回應傳回 Chat 中的 Chat 應用程式服務。
- 系統會將回應傳送給使用者。
- 如有需要,Chat 應用程式可以呼叫 Chat API,以非同步方式發布訊息或執行其他作業。
這個架構可讓您靈活運用系統中現有的程式庫和元件,因為這些 Chat 應用程式可以使用不同的程式設計語言進行設計。
目標
- 設定環境。
- 建立及部署 Cloud 函式。
- 將應用程式發布到 Chat。
- 測試應用程式。
必要條件
- 可存取 Google Chat 的 Business 或 Enterprise Google Workspace 帳戶。
- 已啟用計費功能的 Google Cloud 專案。如要確認現有專案是否已啟用計費功能,請參閱「驗證專案的計費狀態」。如要建立專案並設定帳單,請參閱「建立 Google Cloud 專案」一文。
設定環境
使用 Google API 前,您必須先在 Google Cloud 專案中啟用 API。您可以在單一 Google Cloud 專案中啟用一或多個 API。在 Google Cloud 控制台中,啟用 Google Chat API、Cloud Build API、Cloud Functions API、Cloud Pub/Sub API、Cloud Logging API、Artifact Registry API 和 Cloud Run API。
建立及部署 Cloud 函式
建立及部署以傳送者顯示名稱和顯示圖片產生 Chat 資訊卡的 Cloud 函式。Chat 應用程式收到訊息時,會執行函式,並以資訊卡回應。
如要為 Chat 應用程式建立及部署函式,請完成下列步驟:
Node.js
前往 Google Cloud 控制台中的「Cloud Functions」頁面。
確認已選取 Chat 應用程式的專案。
按一下
「Create Function」。在「建立函式」頁面中設定函式:
- 在「環境」中,選取「Cloud Run 函式」。
- 在「Function name」(函式名稱) 中輸入
QuickStartChatApp
。 - 在「Region」(區域) 中,選取區域。
- 在「Authentication」(驗證) 下方,選取「Require authentication」(需要驗證)。
- 點選「下一步」。
在「執行階段」中,選取最新版本的 Node.js。
在「原始碼」中,選取「內嵌編輯器」。
在「進入點」中刪除預設文字並輸入
avatarApp
。使用下列程式碼取代
index.js
的內容:按一下「部署」。
Python
前往 Google Cloud 控制台中的「Cloud Functions」頁面。
請務必選取 Chat 應用程式的專案。
按一下
「Create Function」。在「建立函式」頁面中設定函式:
- 在「環境」中,選取「Cloud Run 函式」。
- 在「Function name」(函式名稱) 中輸入
QuickStartChatApp
。 - 在「Region」(區域) 中,選取區域。
- 在「Authentication」(驗證) 下方,選取「Require authentication」(需要驗證)。
- 點選「下一步」。
在「Runtime」(執行階段) 中,選取最新版本的 Python。
在「原始碼」中,選取「內嵌編輯器」。
在「Entry point」中,刪除預設文字並輸入
avatar_app
。將
main.py
的內容替換為以下程式碼:按一下「部署」。
Java
前往 Google Cloud 控制台中的「Cloud Functions」頁面。
確認已選取 Chat 應用程式的專案。
按一下
「Create Function」。在「建立函式」頁面中設定函式:
- 在「環境」中,選取「Cloud Run 函式」。
- 在「Function name」(函式名稱) 中輸入
QuickStartChatApp
。 - 在「Region」(區域) 中,選取區域。
- 在「Authentication」(驗證) 下方,選取「Require authentication」(需要驗證)。
- 點選「下一步」。
在「Runtime」(執行階段) 中,選取最新版本的 Java。
在「原始碼」中,選取「內嵌編輯器」。
在「Entry point」中,刪除預設文字並輸入
App
。將
src/main/java/com/example/Example.java
重新命名為src/main/java/App.java
。將
App.java
的內容替換為以下程式碼:使用下列程式碼取代
pom.xml
的內容:按一下「部署」。
Cloud Functions 詳細資料頁面隨即會開啟,並顯示您的函式和兩個進度指標:一個用於建構,另一個用於服務。當兩個進度指標都消失,並以勾號取代時,表示函式現已部署完成且準備就緒。
授權 Google Chat 叫用函式
如要授權 Google Chat 叫用函式,請新增具備 Cloud Run 叫用者角色的 Google Chat 服務帳戶。
前往 Google Cloud 控制台中的 Cloud Run 頁面。
在 Cloud Run 服務清單中,選取接收函式旁的核取方塊。(不要點選函式本身)。
按一下 [權限],「Permissions」(權限) 面板隨即開啟。
按一下「新增主體」。
在「New principals」(新增主體) 中輸入
chat@system.gserviceaccount.com
。在「請選擇角色」中,依序選取「Cloud Run」>「Cloud Run 叫用者」。
按一下 [儲存]。
將應用程式發布到 Google Chat
部署 Cloud 函式後,請按照下列步驟將其轉換為 Google Chat 應用程式:
在 Google Cloud 控制台中,依序點選「選單」圖示 >「Cloud Functions」。
請確認選取的是已啟用 Cloud Functions 的專案。
在函式清單中,按一下「QuickStartChatApp」QuickStartChatApp。
按一下「觸發條件」分頁標籤。
在「HTTPS」下方複製網址。
搜尋「Google Chat API」,然後依序點選「Google Chat API」和「管理」。
按一下「設定」,然後設定 Google Chat 應用程式:
- 在「App name」(應用程式名稱) 中輸入
Quickstart App
。 - 在「顯示圖片網址」中輸入
https://developers.google.com/chat/images/quickstart-app-avatar.png
。 - 在「Description」(說明) 中輸入
Quickstart app
。 - 在「功能」下方,選取「接收一對一訊息」和「加入聊天室和群組對話」。
- 在「連線設定」下方,選取「HTTP 端點網址」,然後將 Cloud Function 觸發事件的網址貼到方塊中。
- 在「Authentication Audience」中,選取「HTTP 端點網址」。
- 在「瀏覽權限」下方,選取「將這個 Google Chat 應用程式提供給網域中的特定使用者和群組」,然後輸入您的電子郵件地址。
- 在「記錄」底下,選取 [將錯誤記錄至 Logging]。
- 在「App name」(應用程式名稱) 中輸入
按一下 [儲存]。
Chat 應用程式已準備好接收及回覆 Chat 中的訊息。
測試 Chat 應用程式
如要測試 Chat 應用程式,請使用 Chat 應用程式開啟即時訊息聊天室並傳送訊息:
使用您新增自己為信任測試人員時提供的 Google Workspace 帳戶,開啟 Google Chat。
- 按一下「新的即時通訊」圖示 。
- 在「新增 1 或多位使用者」欄位中,輸入 Chat 應用程式的名稱。
從搜尋結果中選取 Chat 應用程式。系統隨即會開啟即時訊息。
- 開啟與應用程式互傳的新即時訊息,輸入
Hello
,然後按下enter
。
Chat 應用程式的回應包含卡片訊息,會顯示傳送者的名稱和顯示圖片,如以下圖片所示:
如要新增信任的測試人員,並進一步瞭解如何測試互動功能,請參閱「測試 Google Chat 應用程式的互動功能」。
疑難排解
當 Google Chat 應用程式或資訊卡傳回錯誤時,Chat 介面會顯示「發生錯誤」的訊息。或「無法處理你的要求」。Chat UI 有時不會顯示任何錯誤訊息,但 Chat 應用程式或資訊卡卻產生非預期的結果,例如資訊卡可能不會顯示。
雖然 Chat UI 可能不會顯示錯誤訊息,但可以在啟用 Chat 擴充應用程式的錯誤記錄功能時,查看描述性的錯誤訊息和記錄資料,協助您修正錯誤。如需查看、偵錯及修正錯誤的相關說明,請參閱「排解及修正 Google Chat 錯誤」一文。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,建議您刪除 Cloud 專案。
- 在 Google Cloud 控制台中,前往「管理資源」頁面。依序點選「Menu」圖示 >「IAM & Admin」(IAM 與管理) >「Manage Resources」(管理資源)。
- 在專案清單中選取要刪除的專案,然後按一下「Delete」圖示 。
- 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。
相關主題
如要為 Chat 應用程式新增更多功能,請參閱以下內容: