处理 Google Chat 中的活动

本页面介绍了 Google Chat 应用如何在 Google Chat 中接收和响应事件。

Google Chat 事件表示 Chat 中的活动或更改,例如聊天室中的新消息。您的 Chat 应用可以使用事件来了解发生了什么,并对用户采取有意义的行动或响应。

下面列举了一些示例来说明如何使用事件:

  • 监控和回复聊天室中的新消息,例如检查关键词或短语。
  • 在用户加入聊天室时向其发送欢迎消息,以说明聊天室准则或分享有关如何有效使用 Chat 应用的提示。
  • 跟踪和分析 Chat 活动。例如,发送有关新成员或获得最多回应或回复的消息的每月报告。
  • 跨消息传递平台进行通信。例如,用户可以在不离开 Chat 的情况下,通过其他即时通讯平台发送和接收来自用户的消息。

事件的运作方式

每当 Google Chat 中发生事件时,系统都会创建、更新或删除 Google Chat API 资源。事件会提供有关活动何时发生以及受影响的 Chat API 资源的信息。

Chat 会按类型对活动进行分类。事件类型可帮助您仅过滤和请求所需的信息类型,并且可让您以相同的方式处理类似事件。

下表显示了 Chat 中的活动如何影响相关的 Chat API 资源,以及 Chat 应用收到的事件类型:

Activity Chat API 资源 事件类型
用户在“Chat”聊天室中发布了消息 系统会创建一个 Message 资源。 新信息
用户成为聊天室管理员。 Membership 资源已更新。 会员方案已更新
用户回应消息。 系统会创建一个 Reaction 资源。 新回应
用户退出聊天室。 删除了 Membership 资源。 已删除的成员资格

接收来自 Google Chat 的事件

如需接收事件,Chat 应用可以执行以下任一操作:

  • 使用 Google Workspace Events API 订阅事件,以便在发生事件时接收相应事件。
  • 通过调用 Chat API 查询事件。

Google Workspace Events API 和 Chat API 支持并提供相同的事件类型。如需了解您是否应该订阅或查询事件,请查看下表:

订阅事件 查询事件
用例
  • 实时处理或响应事件。
  • 监控用户的成员资格活动,并发现要监控的新空间。
  • 定期或通过触发器处理或响应事件。
  • 从订阅中提取错过的事件(由于服务中断或订阅无效)。
API Google Workspace Events API Chat API
事件来源 聊天室和用户 仅限聊天室
事件格式 Google Cloud Pub/Sub 消息,格式遵循 CloudEvent 规范。如需了解详情,请参阅 Google Workspace 事件的结构 Chat API 资源 ( spaces.spaceEvent)
事件数据 包含或不包含资源数据的 Base64 编码字符串。如需查看载荷示例,请参阅事件数据 包含资源数据的 JSON 载荷。某些事件类型仅包含特定的资源字段。如需查看载荷示例,请参阅 SpaceEvents 参考文档

如需了解如何使用 Google Workspace Events API 创建订阅,请参阅 Google Workspace Events API 文档。如需使用 Chat API 查询事件,请参阅以下指南:

限制

  • 对于用户的订阅,私信或未命名的群聊中的新成员事件 (google.workspace.chat.membership.v1.created) 仅在第一条消息发布后触发。
  • 对聊天室聊天记录所做的更改不会触发聊天室更新事件(事件类型:google.workspace.chat.spaces.v1.updated)。
  • 要接收会员活动,用户必须是聊天室的直接成员。如果通过 Google 群组间接添加、更新或移出聊天室,则订阅不会收到这些成员资格事件。如需了解 Google 群组成员资格的运作方式,请参阅将 Google 群组添加到聊天室