概览

构建 Google Chat 应用,将您的服务和资源直接引入 Google Chat,让用户无需离开对话即可获取信息并采取行动。

Google Chat 通过提供以下功能来支持团队协作:

  • 用户之间的私信。
  • 聊天室中的话题式对话。
  • Chat 聊天室让您可以按项目、按团队或其他方式分配讨论空间。
  • 可以参与聊天室或回复私信的聊天应用。

消息和聊天室

Google Chat 和 Chat 应用之间的交互是在特定“聊天室”环境中使用“消息”进行的。例如,Chat 应用可以向特定的 Chat 聊天室发送文本(一种消息类型)。

消息包括 Chat 应用互动、短信或卡片,而聊天室则包括聊天室和私信。

上图显示了消息和聊天室可用的不同类型的互动和上下文:

  • Google Chat 和 Chat 应用之间的消息遵循特定的消息格式,其中每条消息均包含一个 JSON 对象,该对象的组件指定用户 ID、样式、内容以及消息的其他方面。聊天应用可以发送以下类型的消息:

    • 短信包含文本格式有限的纯文本内容。
    • 卡片消息定义了要在聊天室中显示的卡片的格式、内容和行为。例如,卡片消息可以包含一个带有链接的按钮,点击这个链接可打开一个对话框,以便收集用户信息。
  • 在 Google Chat 中,聊天室可能具有以下上下文:

    • 多个用户可以查看已命名的聊天室或群组聊天室。
    • 只有该聊天室中的用户可以看到私信。

用例

将 Chat 应用添加到 Chat 等对话平台后,用户无需更改上下文即可提问和发出命令。在其后端,Chat 应用可以访问其他系统,作为这些系统的中介。

这种能够在保持统一的认知体验的同时,提供对各种资源和工具的访问权限,可以为许多类型的应用提供一个框架,其中包括:

  • 工作流管理
  • 设置和配置
  • 生成订单
  • 搜索
  • 数据收集

您可以要求 Chat 应用在 Chat 聊天室中执行的操作示例如下:

  • 查询信息 - Chat 应用可以根据用户输入的结构化或自由文本查询来检索信息。
  • 文件工单 - Chat 应用可以使用用户提供的信息生成事件报告或其他工件。
  • 协调工作 - Chat 应用可以改善团队成员之间的互动方式,例如提供“团队回忆”或调度资源。

构建交互式聊天应用

许多聊天应用允许用户直接与 Chat 应用发送消息和互动。交互式聊天应用可以执行以下任一操作:

  • 使用短信或卡片消息回复 @提及斜杠命令或私信。
  • 打开一个对话框,以帮助用户完成多步骤流程,例如填写表单数据。
  • 通过附加包含实用信息的卡片预览链接,让用户可以直接在对话中执行操作。

为了与用户互动,您的 Chat 应用必须能够接收和响应互动事件。如需构建交互式 Chat 应用,请参阅接收和响应 Google Chat 应用互动事件

构建非交互式聊天应用

对于用户而言,Google Chat 应用也可以是非交互式的,用户无法直接与 Chat 应用互动,但 Chat 应用会直接调用 Google Chat API。例如,您可以创建一个在聊天室中发送消息但用户无法回复 Chat 应用的 Chat 应用。此类 Chat 应用架构对于闹钟报告等操作非常有用。如需了解详情,请参阅 Google Chat API 概览

构建事件驱动型聊天应用

Chat 应用可以使用 Google Workspace Events API 订阅有关 Chat 资源的事件。订阅可让您的 Chat 应用接收有关事件的信息,这些事件表示订阅的 Google Workspace 资源发生了更改。例如,Chat 应用可以响应对 Chat 应用所订阅聊天室的更改,例如向添加到聊天室的新成员发送欢迎辞。如需了解详情,请参阅订阅 Google Chat 事件

选择 Chat 应用架构

Chat API 提供了多种将应用集成到 Chat 聊天室的方法,但不提供或规定实现 Chat 应用逻辑的任何特定方式。您可以创建命令驱动的 Chat 应用,或使用您喜欢的任何类型的语言处理和 AI 服务或模块,并且可以在多种平台上执行此操作,包括以下平台:

  • AppSheet
  • Google Apps 脚本
  • Pub/Sub
  • Google Cloud 或本地 HTTP 服务器

如需了解详情,请参阅选择聊天应用架构

应用对用户数据的访问权限

调用 Chat 应用时,该应用需要知道谁在调用该应用、在什么情境下以及如何处理调用方。如需访问此基本身份数据以外的数据,必须通过身份验证向 Chat 应用授予访问权限。

  • 默认情况下,Chat 应用只能读取调用该应用的用户或用“@”提及的用户的基本身份信息。这些信息包括用户的显示名称、用户 ID、电子邮件地址和头像图片。
  • 对于预览链接的聊天应用,Chat 应用可以读取添加到消息中且与 Chat 应用配置的网址格式匹配的网址。

  • 如果 Chat 应用需要访问其他数据以向用户提供增强功能(例如读取聊天室中的所有消息或成员列表),请设置身份验证,以便它可以访问相应数据。如果要访问用户数据,Chat 应用会提示用户请求访问权限,并且必须由用户授权。如需了解详情,请参阅将 Chat 应用与其他服务和工具相关联

想要了解 Google Chat API 的实际运用?
Google Workspace Developers 频道提供有关提示、技巧和最新功能的视频。