疑難排解並修正 Google Chat 應用程式錯誤

本節將說明建構及測試 Chat 應用程式時可能遇到的常見問題。

資訊卡訊息、對話方塊或連結預覽無法正常顯示或運作

如需排解資訊卡錯誤的相關說明,請參閱「排解資訊卡錯誤並進行修正」。

應用程式沒有回應

如果您傳訊息給 Chat 應用程式且回應「應用程式沒有回應」,請檢查 Chat 應用程式的設定:

  1. 在 Google Cloud 控制台中,依序點選「選單」 >「更多產品」 >「Google Workspace」 >「產品程式庫」 >「Google Chat API」 >「管理」 >「設定」

    前往 Chat API

  2. 在「應用程式狀態」下方,確認已選取「現行 - 可供使用者存取」

  3. 在「互動功能」下方,確認設定是否適合應用程式的功能。如果 Chat 應用程式會與使用者互動,請務必開啟「啟用互動功能」

    1. 如果您的應用程式會回覆訊息,請務必選取「接收 1:1 訊息」
    2. 在「連線設定」下方,確認「HTTP 端點網址」、「Apps Script 專案部署 ID」、「Cloud Pub/Sub 主題名稱」或 Dialogflow 機器人已正確設定並部署。
    3. 在「瀏覽權限」下方,確認有適當使用者可以透過電子郵件地址或 Google Workspace 網域中的群組存取應用程式。如果應用程式是透過 Google Workspace Marketplace SDK 部署,則無需瀏覽權限設定,因為 Google Workspace Marketplace 設定的優先順序最高。
  4. 如果應用程式是使用 Google Workspace Marketplace SDK 發布,請檢查 Google Workspace Marketplace 設定。

  5. 按一下 [儲存]

  6. 請再次嘗試傳送訊息給應用程式。

Google Chat API 僅適用於 Google Workspace 使用者

設定 Chat 應用程式時,您可能會收到 Google Chat API is only available to Google Workspace users 錯誤。這則訊息表示您用來設定 Chat API 的 Google 帳戶並非 Google Workspace 機構的一部分。如要建構 Chat 應用程式或使用 Chat API,您必須使用 Google Workspace 帳戶

請注意,Google Chat 使用者即使沒有 Google Workspace 帳戶,也能使用 Chat 擴充應用程式。如要進一步瞭解使用者如何探索及安裝 Chat 擴充應用程式,請參閱「發布 Google Chat 應用程式」。

使用者可能無法加入聊天室或被移出聊天室

如果 Google Workspace 管理員禁止使用者開啟或關閉即時通訊記錄功能,有時可能會導致使用者無法加入聊天室或留在聊天室中,因為使用者層級的設定會強制開啟或關閉即時通訊記錄功能,而聊天室會繼承機構層級的強制設定。

舉例來說,如果使用者的即時通訊記錄設定為強制「開啟」,而聊天室的即時通訊記錄設定為強制「關閉」,使用者可能就無法加入該聊天室。此外,如果使用者加入的時間早於聊天室中,卻在衝突後在聊天室中張貼訊息,那麼對方可能也會從聊天室中移除。

在這種情況下,以及在其他記錄設定互相衝突的情況下,Chat API 可能無法建立會員資格,或是在使用者驗證功能建立訊息時,可能會從聊天室中移除設定衝突的使用者。

詳情請參閱 Google Workspace 管理員說明中心的「使用者可能無法加入聊天室或被移出聊天室」。

排解 Google Apps Script 中的進階即時通訊服務問題

請參閱 Apps Script 頁面,瞭解進階即時通訊服務

使用者無法將 Chat 應用程式加入聊天室

如果使用者在嘗試將 Chat 應用程式新增至聊天室時,遇到錯誤訊息 This organization's administrator must allow users to install this Chat app,這可能表示發生下列其中一種情況:

  • 機構已停用 Chat 擴充應用程式。
  • 機構尚未將這個特定的 Chat 應用程式加入機構的許可清單。

如果使用者在嘗試與 Chat 應用程式互動時看到這則錯誤訊息,可能是因為機構將存取權授予子機構單位,卻沒有為上層機構單位啟用這項功能。

如要瞭解如何解決這個問題,請參閱「允許使用者安裝 Chat 專用應用程式」。

管理員必須授予應用程式這項操作所需的 OAuth 授權範圍

以 Chat 應用程式的身分進行驗證時,可能會收到下列錯誤:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">

這則錯誤訊息表示 Google Workspace 管理員尚未授予 Chat 應用程式一次性核准權,以便使用開頭為 https://www.googleapis.com/auth/chat.app.* 的授權範圍。

如要解決這項錯誤,請按照下列步驟操作:

  • 要求 Google Workspace 管理員核准您的 Chat 應用程式核准。在 Chat 應用程式邏輯中處理這項錯誤時,請考慮傳送訊息,公告 Chat 應用程式需要管理員核准才能執行要求的動作,例如:To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>.
  • 如果 Chat API 方法支援 https://www.googleapis.com/auth/chat.bot 授權範圍,而不需要管理員核准,請考慮改用。如要查看方法支援哪些授權範圍,請參閱「驗證及授權 Google Chat 應用程式和 Google Chat API 要求」。

排解 Cloud 函式錯誤

如果 Chat 應用程式是使用 Cloud 函式實作,但無法正常運作,請參閱以下各節,瞭解如何排解及修正問題。

查看 Cloud 函式記錄檔

首先,請檢查 Cloud Functions 記錄檔中是否有錯誤。

  1. 前往 Google Cloud 控制台的「Cloud Functions」頁面:

    前往 Cloud Functions 頁面

  2. 如要開啟記錄檔,請找出 Chat 應用程式的 Cloud 函式,然後依序按一下「Show actions」(顯示動作) >「View logs」(查看記錄)

「記錄檔探索工具」會開啟並執行查詢,顯示 Cloud 函式記錄,包括錯誤。

如果記錄的預設資訊不足以偵錯應用程式,您可以透過 Cloud Functions 程式碼新增其他記錄。請參閱「查看及寫入 Cloud Functions 記錄檔」。

檢查 Cloud 函式錯誤

除了記錄之外,Cloud 函式可能也會回報執行期間發生的錯誤。

  1. 前往 Google Cloud 控制台的「Cloud Functions」頁面:

    前往 Cloud Functions 頁面

  2. 按一下 Chat 應用程式的 Cloud Function。

  3. 在「函式詳細資料」頁面中,錯誤會列在「錯誤」下方。

  4. 如要進一步排解錯誤,請按一下該錯誤。

修正常見的 Cloud 函式錯誤

使用 Cloud Functions 建構 Chat 應用程式時,有時會遇到下列錯誤。

專案「PROJECT_NAME」中已有「REGION_NAME」區域的 Chat 函式

部署 Cloud 函式時,您可能會收到 Function ChatApp in region REGION_NAME in project PROJECT_NAME already exists 錯誤。這則訊息表示另一個 Cloud Function 的名稱與您要部署的函式相同。請變更名稱,然後再次部署函式。請確認 Chat 應用程式使用的是 Cloud 函式的觸發網址,而非先前 Cloud 函式的觸發網址。

政策中列出的使用者不屬於允許的客戶

部署 Cloud Function 時,您可能會收到錯誤 The operation cannot be completed on the function: "One or more users named in the policy do not belong to a permitted customer."。如果收到這項錯誤,然後傳送訊息給 Chat 應用程式,系統會傳回錯誤訊息,指出應用程式未回應,因為 Google Chat 無法存取代管 Cloud Function 的伺服器。這則訊息表示名為「allUsers」的使用者沒有呼叫 Cloud 函式的權限。將「Cloud Functions 叫用者」角色指派給「allUsers」表示,支援應用程式的 Cloud Functions 可供大眾使用,且無須驗證即可存取。如要瞭解如何指派角色,請參閱「授予單一角色」一文。

這個錯誤可能表示 Google Cloud 專案設有網域限制。如要進一步瞭解網域限制約束條件,請參閱「依照網域設定身分限制」。

如要解決這個問題,請確認您的 Cloud Function 允許未經驗證的叫用作業。如要瞭解如何允許現有 Cloud 函式在未經驗證的情況下叫用,請參閱允許公開 (未經驗證) 存取