本页介绍了 Google Chat 应用如何接收和响应 Google Chat 中的活动。
Google Chat 事件表示 Chat 中的一项活动或更改。 例如聊天室中的新消息。Chat 扩展应用可使用 了解发生的情况,并采取行动或以有意义的 为用户提供更好的使用体验
以下示例说明了如何使用事件:
- 监控并回复聊天室中的新消息,例如检查按键 字词或短语。
- 在用户加入聊天室时向他们发送欢迎消息,以说明聊天室 或分享有关如何有效使用 Chat 应用。
- 跟踪和分析 Chat 活动。例如,要发送 关于新会员或获得最多消息的每月报告 回应或回复。
- 跨即时通讯平台进行沟通。例如,用户可以向 以及接收其他即时通讯平台上的用户发来的消息 退出 Chat。
事件的运作方式
每当 Google Chat 中发生问题,Google Chat API 资源就会 创建、更新或删除Chat 使用事件来递送 向 Chat 应用发送有关 发生的活动,以及受影响的 Chat API 资源。
Message
资源。
然后,Chat 会创建一个活动,其中包含有关新
消息。Chat 会按类型对活动进行分类。事件类型可帮助您 只接收您需要的信息类型,还能让您处理类似的 activity。
下表显示了 Chat 中的活动对 相关 Chat API 资源,以及您安排 Chat 应用会收到:
活动 | Chat API 资源 | 事件类型 |
---|---|---|
用户在 Chat 聊天室中发布了消息 | 系统会创建 Message 资源。 |
新信息 |
用户成为聊天室管理员。 | Membership 资源已更新。 |
已更新会员资格 |
用户对消息做出了回应。 | 系统会创建 Reaction 资源。 |
新回应 |
用户退出聊天室。 | 删除了 Membership 资源。 |
已删除成员资格 |
接收来自 Google Chat 的事件
如要接收事件,您的 Chat 应用可以执行以下任一操作 以下:
- 使用 Google Workspace Events API 订阅事件以接收事件 生成相应的文件
- 通过调用 Chat API 查询近期事件。
下表解释了查询或 订阅事件:
订阅事件 | 查询事件 | |
---|---|---|
使用场景 |
|
|
API | Google Workspace Events API | Chat API |
事件来源 | 聊天室和用户 | 仅限聊天室 |
支持的事件 |
有关支持的事件类型的列表,请参阅 在 Google Ads 中创建订阅的事件类型 Google Workspace Events API 文档。 |
有关支持的事件类型的列表,请参阅 Chat API 中的 spaceEvents 资源
参考文档。
|
事件格式 | Google Cloud Pub/Sub 消息,根据 CloudEvent 规范。有关详情,请参阅 Google Workspace 活动的结构。 |
Chat API 资源
(
spaces.spaceEvent )
|
事件数据 | Base64 编码的字符串,无论是否包含资源数据。如需查看载荷示例,请参阅事件数据。 | 包含资源数据的 JSON 载荷。某些事件类型仅包含特定资源字段。有关载荷示例,请参阅 <ph type="x-smartling-placeholder"></ph> 参考文档。 |
示例:查询或订阅有关聊天室成员的事件
在此示例中,Chat 应用想要接收 有关 Chat 聊天室成员更改的信息。在 在聊天室中,会发生以下成员资格活动:
- 用户加入聊天室,这会创建一个
Membership
资源并触发 新成员事件。 - 用户成为聊天室管理员,这会更新以下内容的
Membership
资源: 用户,并触发更新后的成员事件。 - 用户离开聊天室,这会删除聊天室的
Membership
资源 触发成员删除事件
订阅会员活动
为了实时接收事件,
Chat 应用调用 Google Workspace Events API
subscriptions.create()
方法订阅所有类型的会员活动的空间。更新后
创建订阅,Chat 应用就可以开始
来接收会员事件
在图 2 中,Chat 应用有一个针对 因此,每当聊天室中的成员加入时,应用都会收到一个事件 更改。然后,Chat 应用就可以处理或回复 实时参与任何活动,例如向 加入聊天室的成员。
如需了解如何使用 Google Workspace Events API 创建订阅, 请参阅 Google Workspace Events API 文档。
查询近期的会员活动
与发生会员事件时相比, Chat 应用可以调用 Chat API 来列出 与会员活动相关的近期空间活动。
在图 3 中,Chat 应用调用 Chat API
spaces.spaceEvents.list()
方法,并过滤查询
。Chat API 会返回
spaceEvent
资源的列表,代表每项成员资格变更。
然后,Chat 应用可以根据
近期活动,例如每周发布一次带有
聊天室在过去 7 天内的成员资格活动。
如需使用 Chat API 查询事件,请参阅 列出 Google Chat 聊天室中的活动。
限制
-
对于用户的订阅、私信或未命名群聊 (
google.workspace.chat.membership.v1.created
) 中新成员的相关活动, 仅在第一条消息发布后触发。 - 要接收会员活动,用户必须是聊天室的直接成员。如果添加了用户 通过 Google 群组更新或间接移除了聊天室中,订阅不会 来接收这些会员事件要了解 Google 群组成员资格的运作方式,请参阅 向聊天室添加 Google 群组。
相关主题
- Google Workspace Events API 概览
- 创建订阅
- 获取有关 Google Chat 聊天室活动的详细信息
- 列出 Google Chat 聊天室中的活动
- 有关如何使用事件的示例,请参阅根据问题解答 了解与 Gemini AI 的 Chat 对话 Chat 应用 或问题管理的包容性帮助功能 Codelab 中的 Chat 应用 使用 Gemini 构建 Google Chat 应用。