构建 Google Chat 界面

本页面简要介绍了如何为扩展 Google Chat 的 Google Workspace 插件构建界面 (UI)。

在 Google Chat 中,插件会作为 Google Chat 应用显示给用户。如需了解详情,请参阅扩展 Google Chat 概览

如需为 Chat 应用构建界面,您可以使用以下插件组件:

  • 触发器:Google Chat 用户可以通过哪些方式调用 Chat 应用,例如将其添加到聊天室或向其发送消息。
  • 事件对象:Chat 应用从触发器或界面互动收到的数据。
  • 操作:聊天应用可以通过哪些方式响应互动,例如发送消息或返回基于卡片的界面。
Chat 应用从“添加到聊天室”触发器收到事件对象
图 1:当用户将 Chat 应用添加到聊天室时,添加到聊天室触发器会触发并发送事件对象。如需使用消息进行回复,Chat 应用会处理事件对象,并返回用于创建消息的操作。

Chat 应用可以在以下界面中构建和显示卡片:

  • 消息,可以包含文字、静态或互动卡片和按钮。
  • 对话框:在新窗口中打开的卡片,通常会提示用户提交信息。
  • 链接预览:用于预览外部服务相关信息的卡片。

触发器

本部分介绍 Google Workspace 插件在 Chat 中使用的触发器。

触发器是指用户使用 Chat 界面调用 Chat 应用的具体方式,例如使用 @提及或应用命令。

下表显示了 Chat 触发器、说明以及 Chat 应用的典型响应方式:

触发器 说明 典型回复
已添加到聊天室

用户将 Chat 应用添加到聊天室,或者 Google Workspace 管理员为其组织中的用户在私信聊天室中安装 Chat 应用。如需了解管理员安装的 Chat 应用,请参阅 Google Workspace 管理员帮助文档中的在您的网域中安装 Marketplace 中的应用

Chat 应用会发送一条新手入门消息,说明该应用的用途以及聊天室中的用户如何与之互动。
短信

用户通过以下任一方式在消息中与 Chat 应用互动:

  • 使用 Chat 应用在私信 (DM) 聊天室中发送消息。
  • @在任何类型的聊天室中提及 Chat 应用。
  • 发送包含与链接预览网址格式匹配的链接的消息。
  • selectionInput widget 的多选菜单中输入文本。
Chat 应用会根据消息内容做出响应。例如,聊天应用会对斜杠命令 /about 做出回复,并发送一条消息来说明聊天应用可以执行的任务。
从聊天室中移除

用户从聊天室中移除 Chat 应用,或者 Google Workspace 管理员为其组织中的用户卸载 Chat 应用。

用户无法移除其管理员安装的 Chat 应用。如果用户之前安装了 Chat 应用,则无论 Google Workspace 管理员是否尝试卸载,Chat 应用都将保持安装状态。

Chat 应用会移除为聊天室配置的所有传入通知(例如删除 webhook),并清除所有内部存储空间。聊天应用无法通过消息回复此触发器,因为它们已不再是聊天室的成员。
应用命令

用户使用 Chat 应用命令

Chat 应用会对该命令做出响应。例如,使用消息进行回复或打开对话框。

与其他 Google Workspace 插件不同,您必须使用 Google Chat API 为这些触发器配置任何回调函数。如需获取指导,请参阅配置 Google Chat 应用

如需响应触发器,请参阅以下指南:

事件对象

当 Chat 触发器触发或 Chat 用户与 Chat 应用中的界面互动(例如点击按钮)时,Chat 应用会收到事件对象。事件对象包含与 Chat 应用可用于响应或更新界面的互动相关的数据。

如需了解如何处理事件对象,请参阅以下指南:

如需了解 Chat 和其他 Google Workspace 应用中的插件事件对象,请参阅事件对象

聊天操作

本部分介绍了 Chat 应用如何使用插件操作来响应用户互动。

如需使用插件操作进行响应,聊天应用必须在 30 秒内响应,并且响应必须发布在发生互动的位置。否则,Chat 应用必须设置身份验证并调用 Google Chat API 才能做出响应。

聊天应用可以通过多种方式处理和回复互动。在许多情况下,聊天应用会通过消息进行回复。聊天应用还可以从数据源查询一些信息、记录事件对象信息,或记录几乎任何其他信息。这种处理行为在本质上定义了 Google Chat 应用。

如需响应用户互动,聊天应用必须处理相应的事件对象,并返回以下 JSON 对象之一:

Chat 扩展应用响应 退货所需的操作
发送或更新消息 DataActions
打开、更新或关闭对话框 RenderActions
如需从卡片或对话框中收集信息,请根据用户在多选菜单中输入的内容建议选择项。 RenderActions
预览 Chat 用户在聊天室中发送的消息中的链接 DataActions

使用 Google Chat API 进行回复

Chat 应用可能需要使用 Google Chat API 响应互动,而不是返回插件操作。例如,Chat 应用必须调用 Google Chat API 才能执行以下任一操作:

  • 在 30 秒后响应互动。
  • 在发生互动的工作区之外执行任务。
  • 在 Chat 中执行无法作为插件操作执行的任务。例如,列出用户或 Chat 应用所属的聊天室,或向聊天室添加用户。
  • 代表 Chat 用户执行任务(需要用户身份验证)。

如需了解如何对 Chat API 进行身份验证和调用,请参阅 Chat API 概览