- JSON 表示法
- CommonEventObject
- TimeZone
- 输入
- StringInputs
- DateTimeInput
- DateInput
- TimeInput
- AppCommandMetadata
一种 Google Chat 扩展应用互动事件,表示并包含有关用户与 Chat 扩展应用互动的相关数据。如需将 Chat 扩展应用配置为接收互动事件,请参阅接收并响应用户互动。
除了接收用户互动事件之外,Chat 应用还可以接收有关聊天室变更的事件,例如向聊天室添加新成员时。如需了解聊天室事件,请参阅处理 Google Chat 中的事件。
注意:此事件仅用于聊天互动事件。如果您的 Chat 应用是作为 Google Workspace 加载项构建的,请参阅加载项文档中的 Chat 事件对象。
| JSON 表示法 | 
|---|
| { "type": enum ( | 
| 字段 | |
|---|---|
| type | 
 与 Chat 应用的用户互动的类型,例如  | 
| eventTime | 
 指示互动事件发生的时间戳。 | 
| token | 
 旧版 Chat 应用可用于验证请求是否来自 Google 的密钥值。Google 会随机生成令牌,其值保持不变。您可以在 Google Cloud 控制台的 Chat API 配置页面中获取、撤消或重新生成令牌。 新版 Chat 应用不使用此字段。它不会出现在 API 响应和 Chat API 配置页面中。 | 
| threadKey | 
 与互动事件相关的线程的 Chat 应用定义的键。如需了解详情,请参阅  | 
| message | 
 对于  | 
| user | 
 与 Chat 应用互动过的用户。 | 
| thread | 
 用户与 Chat 应用互动时所处的线程。这可能是由新发送的消息创建的新线程。如果互动事件与特定消息或会话相关联,则此字段会填充相应值。 | 
| space | 
 用户与 Chat 应用互动的聊天室。 | 
| action | 
 对于  | 
| configCompleteRedirectUrl | 
 此网址针对  | 
| isDialogEvent | 
 对于  | 
| dialogEventType | 
 收到的对话框互动事件的类型。 | 
| common | 
 表示有关用户客户端的信息,例如语言区域、宿主应用和平台。对于 Chat 应用, | 
| appCommandMetadata | 
 有关 Chat 应用命令的元数据。 | 
CommonEventObject
通用事件对象是整个事件对象的一部分,用于将常规的、独立于宿主的信息从用户客户端传递到插件。这些信息包括用户的语言区域、宿主应用和平台等详细信息。
除了首页触发器和上下文触发器之外,当用户与 widget 互动时,插件还会构建事件对象并将其传递给操作回调函数。插件的回调函数可以查询通用事件对象,以确定用户客户端中打开的 widget 的内容。例如,插件可以在 eventObject.commentEventObject.formInputs 对象中找到用户在 TextInput widget 中输入的文本。
对于 Chat 应用,用户在与 widget 互动时调用的函数名称。
| JSON 表示法 | 
|---|
| { "userLocale": string, "hostApp": enum ( | 
| 字段 | |
|---|---|
| userLocale | 
 默认处于停用状态。用户的语言和国家/地区标识符,格式为 ISO 639 语言代码-ISO 3166 国家/地区代码。例如  如需启用此字段,您必须在插件的清单中将  | 
| hostApp | 
 指明生成事件对象时,插件所处的宿主应用。可能的值包括下列项: 
 | 
| platform | 
 平台枚举,用于指明事件的来源平台( | 
| timeZone | 
 默认处于停用状态。时区 ID 和相对于世界协调时间 (UTC) 的偏移量。如需启用此字段,您必须在插件的清单中将  仅支持  | 
| formInputs | 
 一个映射,其中包含所显示卡片中 widget 的当前值。地图键是为每个 widget 分配的字符串 ID。 地图值对象的结构取决于 widget 类型: 注意:以下示例是针对 Apps 脚本的 V8 运行时设置的格式。如果您使用的是 Rhino 运行时,则必须在值后添加  
 示例:对于 ID 为  
 示例:对于 ID 为  
 示例:对于 ID 为  
 示例:对于 ID 为  
 示例:对于 ID 为  | 
| parameters | 
 您使用  开发者预览版:对于扩展 Google Chat 的插件,如需根据用户在多选菜单中输入的内容建议项目,请使用  | 
| invokedFunction | 
 要调用的函数的名称。 对于扩展 Google Chat 的 Google Workspace 加购项,此字段不会填充。相反,如需接收标识符等函数数据,扩展 Chat 的插件应使用  | 
TimeZone
时区 ID 和相对于世界协调时间 (UTC) 的偏移量。仅支持 CARD_CLICKED 和 SUBMIT_DIALOG 事件类型。
| JSON 表示法 | 
|---|
| { "id": string, "offset": integer } | 
| 字段 | |
|---|---|
| id | 
 IANA TZ 时区数据库代码,例如“America/Toronto”。 | 
| offset | 
 用户时区相对于世界协调时间 (UTC) 的偏移量(以毫秒为单位)。 | 
输入
用户可以在卡片或对话框中输入的数据类型。输入类型取决于 widget 接受的值类型。
| JSON 表示法 | 
|---|
| { // Union field | 
| 字段 | |
|---|---|
| 联合字段  
 | |
| stringInputs | 
 一个字符串列表,表示用户在 widget 中输入的值。 如果 widget 仅接受一个值(例如  | 
| dateTimeInput | 
 来自  | 
| dateInput | 
 仅接受日期值的  | 
| timeInput | 
 来自仅接受时间值的  | 
StringInputs
常规 widget 的输入参数。对于单值 widget,它是一个单值列表。对于多值 widget(例如复选框),系统会显示所有值。
| JSON 表示法 | 
|---|
| { "value": [ string ] } | 
| 字段 | |
|---|---|
| value[] | 
 用户输入的字符串列表。 | 
DateTimeInput
日期和时间输入值。
| JSON 表示法 | 
|---|
| { "msSinceEpoch": string, "hasDate": boolean, "hasTime": boolean } | 
| 字段 | |
|---|---|
| msSinceEpoch | 
 自纪元时间以来的时间(以毫秒为单位)。 | 
| hasDate | 
 
 | 
| hasTime | 
 
 | 
DateInput
日期输入值。
| JSON 表示法 | 
|---|
| { "msSinceEpoch": string } | 
| 字段 | |
|---|---|
| msSinceEpoch | 
 自纪元时间以来的时间(以毫秒为单位)。 | 
TimeInput
时间输入值。
| JSON 表示法 | 
|---|
| { "hours": integer, "minutes": integer } | 
| 字段 | |
|---|---|
| hours | 
 24 小时制时钟上的小时。 | 
| minutes | 
 整点过后经过的分钟数。有效值为 0 到 59。 | 
AppCommandMetadata
有关 Chat 应用命令的元数据。
| JSON 表示法 | 
|---|
| {
  "appCommandId": integer,
  "appCommandType": enum ( | 
| 字段 | |
|---|---|
| appCommandId | 
 Chat API 配置中指定的命令的 ID。 | 
| appCommandType | 
 聊天应用命令的类型。 |