- 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 |
聊天应用命令的类型。 |