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

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

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

如需卡片錯誤疑難排解的相關說明,請參閱排解資訊卡錯誤及修正

應用程式沒有回應

如果你傳訊息給 Chat 應用程式,但應用程式回應「應用程式沒有回應」 確認 Chat 應用程式的設定:

  1. 在 Google Cloud 控制台中,按一下「選單」 > 更多產品 > Google Workspace > 產品庫 > Google Chat API > 管理 > 設定

    前往 Chat API

  2. 在「應用程式狀態」下方,確認您已選取「已上架 - 使用者可以使用」

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

    1. 如果您的應用程式會回覆訊息,請務必選取「接收 1:1 訊息」
    2. 在「連線設定」下方,確認「應用程式網址」、Apps Script 專案的 Deployment 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 Workspace 機構。如要建立 Chat 應用程式或使用 Chat API,則必須使用 Google Workspace 帳戶

請注意,即使沒有 Google Workspace 帳戶。進一步瞭解使用者如何發現及安裝 即時通訊應用程式,請參閱「發布 Google Chat 應用程式

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

如果 Google Workspace 管理員禁止使用者開啟或關閉 Chat 記錄,有時可能會因為使用者層級設定 (強制開啟或關閉即時通訊記錄) 和沿用機構層級強制設定的聊天室之間發生衝突,導致使用者無法加入或留在聊天室。

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

在這種情況下,如果記錄設定之間發生衝突,Chat API 可能無法建立成員,或透過使用者驗證機制建立訊息,如果已驗證使用者的 Chat 記錄設定與聊天室設定有所衝突,就可能移除這些使用者。

詳情請參閱 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 擴充應用程式

排解 Cloud 函式錯誤

如果使用 Cloud Functions 實作 Chat 應用程式 如果無法順利執行,請參閱以下各節,瞭解如何排解問題。

查看 Cloud 函式記錄檔

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

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

    前往 Cloud Functions 頁面

  2. 如要開啟記錄,請找出 Chat 應用程式的 ,然後按一下函式 顯示動作 > 查看記錄

「記錄檔探索工具」會開啟並執行查詢,顯示下列 Cloud 函式記錄檔: 發生錯誤。

如果記錄的預設資訊不足以對應用程式進行偵錯,您可以新增 就能在 Cloud 函式程式碼中 啟用額外記錄功能請參閱檢視及寫入 Cloud 函式記錄。

檢查 Cloud 函式錯誤

除了記錄之外,Cloud 函式可能也會回報 備用資源

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

    前往 Cloud Functions 頁面

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

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

  4. 如要進一步排解錯誤,請點選該錯誤。

修正常見的 Cloud 函式錯誤

建立 將即時通訊應用程式與 Cloud Functions 搭配使用。

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

部署 Cloud 函式時,您可能會收到 Function ChatApp in region REGION_NAME in project PROJECT_NAME already exists 錯誤。這則訊息代表另一個 Cloud 函式的名稱與 資源數量變更名稱 再次部署函式確認 Chat 應用程式使用的觸發條件網址如下: Cloud 函式,而非現有 Cloud 函式的觸發條件網址。

政策中登錄的一或多位使用者不屬於允許的客戶

部署 Cloud 函式時,您可能會收到 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 函式的伺服器。這則訊息表示 名為「allUsers」的使用者無權呼叫 Cloud 函式。 提供「allUsers」「Cloud Functions 叫用者」也就是 應用程式的功能必須開放所有人使用,就無需再使用 驗證。如要瞭解如何指派角色,請參閱 授予單一角色

這個錯誤可能表示 Google Cloud 專案設有網域限制。適用對象 如要進一步瞭解網域限制,請參閱 依照網域限制身分

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