概览

构建 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 应用

本部分介绍了您可以构建的几种聊天应用类型。

对于您构建的每个聊天应用,您必须在 Google Cloud 控制台中单独创建一个 Google Cloud 项目。如需部署您的 Chat 应用并与其他 Google Chat 用户共享,您可以在 Google Workspace Marketplace 中发布并列出这些应用。如需了解详情,请参阅为 Chat 应用创建和管理部署

交互式聊天应用

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

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

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

非交互式 Chat 应用

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

事件驱动型 Chat 应用

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

选择 Chat 应用架构

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

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

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

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

调用 Chat 应用时,它需要知道是谁在调用该应用、在什么情境下以及如何向调用方发出广告请求。如需访问这些基本身份数据之外的数据,必须通过身份验证向 Chat 应用授予访问权限。

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

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

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