排查并修正 Google Chat 应用错误

本部分介绍了您在构建和测试 Chat 应用时可能会遇到的常见问题。

卡片消息、对话框或链接预览无法按预期呈现或运行

如需有关排查卡片错误的帮助,请参阅排查和修正卡片问题

应用没有响应

如果你向 Chat 应用发送消息,但应用回复“应用无响应”, 验证 Chat 应用的配置:

  1. 在 Google Cloud 控制台中,点击菜单 > 更多产品 > Google Workspace > 产品库 > Google Chat API > 管理 > 配置

    前往 Chat API

  2. 应用状态下,确保您选择了已发布 - 已面向用户发布

  3. 互动功能下,确保设置适合您应用的功能。如果您的 Chat 应用会与用户交互,请务必开启启用互动功能

    1. 如果您的应用会响应消息,请务必选择接收 1 对 1 消息
    2. 连接设置下,确保应用网址、Apps 脚本项目部署 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 Workspace 用户可以使用 Google Chat API

配置 Chat 应用时,您可能会收到 错误 Google Chat API is only available to Google Workspace users。此消息 表示您用于配置 Chat API 不属于 Google Workspace 组织。要构建 Chat 应用或 Chat API,则必须使用 Google Workspace 账号

请注意,Google Chat 用户无需 Google Workspace 账号。详细了解用户如何发现和安装 Chat 扩展应用,请参阅发布 Google Chat 应用

用户可能会被排除在聊天室之外

如果 Google Workspace 管理员禁止用户启用或停用 Chat 聊天记录,那么用户有时可能会无法加入或留在聊天室,因为强制开启或关闭聊天记录的用户级设置与继承了组织级强制设置的用户级设置存在冲突。

例如,如果用户的聊天记录设置被强制设为“开启”且聊天室的 Chat 聊天记录设置被强制“关闭”,则该用户可能无法加入该聊天室。此外,如果该用户在冲突前加入聊天室,然后在冲突后在聊天室中发帖,则系统可能会将相应用户从聊天室中移除。

在这种情况下,以及聊天记录设置之间存在冲突的其他情况,Chat API 可能无法创建成员资格,或者创建包含用户身份验证的消息时,系统可能会从聊天室中移除已通过身份验证的用户,并将 Chat 聊天记录设置有冲突的用户。

有关详情,请参阅 Google Workspace 管理员帮助中心内的可以从聊天室中排除用户

对使用 Google Apps 脚本的高级聊天服务进行问题排查

请参阅 Apps 脚本页面,了解 高级聊天服务

用户无法将 Chat 应用添加到聊天室

如果用户遇到错误消息 This organization's administrator must allow users to install this Chat app 尝试将 Chat 扩展应用添加到聊天室时,系统会显示此错误 可能是由以下某个原因导致的:

  • 组织已停用 Chat 应用。
  • 组织尚未添加此特定信息 Chat 扩展应用添加到组织的许可名单中。

如果用户在尝试与某个应用互动时遇到此错误消息, Chat 应用,可能是由组织导致的 授予下级组织部门的访问权限,而无需为 父级组织部门。

如需了解如何解决此问题,请参阅 允许用户安装 Chat 扩展应用

排查 Cloud Functions 函数错误

如果 Chat 应用是使用 Cloud Functions 实现的,并且 但以下部分内容有助于排查问题和解决问题。

查看 Cloud Functions 函数日志

首先,请检查 Cloud Functions 日志中是否存在错误。

  1. 在 Google Cloud 控制台中,转到 Cloud Functions 页面:

    转到 Cloud Functions

  2. 如需打开日志,请找到 Chat 应用的云端 函数,然后点击 显示操作 > 查看日志

日志浏览器会打开并运行显示 Cloud Functions 函数日志的查询,包括 错误。

如果记录的默认信息不足以调试您的应用,您可以将 Cloud Functions 函数代码执行额外日志记录操作。请参阅查看和写入 Cloud 函数日志

检查 Cloud Functions 函数错误

除了日志以外,Cloud Functions 函数还可能报告在 。

  1. 在 Google Cloud 控制台中,转到 Cloud Functions 页面:

    转到 Cloud Functions

  2. 点击 Chat 应用的 Cloud Functions 函数。

  3. 在“函数详情”页面上,错误列在错误下。

  4. 要进一步排查错误,请点击相应错误。

修正常见的 Cloud Functions 函数错误

在构建 使用 Cloud Functions 的聊天应用。

项目 PROJECT_NAME 中区域 REGION_NAME 中的 ChatApp 函数已存在

部署 Cloud Functions 函数时,您可能会收到 Function ChatApp in region REGION_NAME in project PROJECT_NAME already exists 错误。此消息表示另一个 Cloud Functions 函数的名称与 一个正在部署的实例更改名称 重新部署该函数。验证 Chat 应用是否对以下事件使用触发网址: 您的 Cloud Functions 函数,而不是现有 Cloud Functions 函数的触发器网址。

政策中指定的一个或多个用户不属于已获得许可的客户

部署 Cloud Functions 函数时,您可能会收到错误 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 Functions 函数的服务器。此消息意味着 名为“allUsers”的用户无权调用 Cloud Functions 函数。 为“allUsers”指定值“Cloud Functions Invoker”角色意味着 为应用提供支持的功能可公开访问,无需 身份验证。要了解如何分配角色,请参阅 授予单个角色

此错误可能表示 Google Cloud 项目受网域限制。对于 请参阅 按网域限制身份

如需解决此问题,请验证您的 Cloud Functions 函数是否允许未经身份验证的访问 调用。了解如何允许对现有集群 请参阅 允许公开(未经身份验证)访问