Event

Google Chat 应用互动事件。

要了解互动事件,请参阅接收和响应与 Google Chat 应用的互动情况。如需了解事件类型以及事件载荷示例,请参阅 Google Chat 应用互动事件类型

除了接收用户互动事件外,Chat 应用还可以接收与聊天室更改相关的事件,例如当有新成员添加到聊天室时。如要了解聊天室活动,请参阅处理 Google Chat 中的活动

JSON 表示法
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  }
}
字段
type

enum (EventType)

互动事件的类型。有关详情,请参阅 Google Chat 应用互动事件类型

eventTime

string (Timestamp format)

指明互动事件发生时间的时间戳。

token

string

一个密钥值,旧版 Chat 应用可以用它来验证请求是否来自 Google。Google 会随机生成令牌,且其值保持静态。您可以在 Google Cloud 控制台的 Chat API 配置页面获取、撤消或重新生成令牌。

新型 Chat 应用不会使用此字段。该 ID 不会显示在 API 响应和 Chat API 配置页面中。

threadKey

string

与互动事件相关的会话的 Chat 应用定义的键。如需了解详情,请参阅 spaces.messages.thread.threadKey

message

object (Message)

触发互动事件的消息(如果适用)。

user

object (User)

触发互动事件的用户。

space

object (Space)

发生互动事件的空间。

action

object (FormAction)

对于 CARD_CLICKED 互动事件,表示用户点击卡片或对话框时关联的表单操作数据。如需了解详情,请参阅读取用户在卡片上输入的表单数据

configCompleteRedirectUrl

string

用户在 Google Chat 外部完成授权或配置流程后,Chat 应用应将用户重定向到的网址。如需了解详情,请参阅将 Chat 应用与其他服务和工具相关联

isDialogEvent

boolean

对于 CARD_CLICKED 互动事件,表示用户是否与对话框进行了互动。

dialogEventType

enum (DialogEventType)

收到的 dialog 互动事件的类型。

common

object (CommonEventObject)

表示有关用户客户端的信息,例如语言区域、托管应用和平台。对于 Chat 应用,CommonEventObject 包含与对话框互动的用户提交的信息,例如在卡片上输入的数据。

CommonEventObject

表示有关用户客户端的信息,例如语言区域、托管应用和平台。对于 Chat 应用,CommonEventObject 包含与卡片互动的用户提交的数据,例如在对话框中输入的数据。

JSON 表示法
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
字段
userLocale

string

采用 [ISO 639 语言代码]-[ISO 3166 国家/地区代码] 格式的完整 locale.displayName,例如“en-US”。

hostApp

enum (HostApp)

hostApp 枚举,用于指明从哪个应用调用插件。对于 Chat 应用,始终为 CHAT

platform

enum (Platform)

平台枚举,用于指明事件源自哪个平台(WEBIOSANDROID)。Chat 应用不支持。

timeZone

object (TimeZone)

时区 ID 以及相对于世界协调时间 (UTC) 的偏移量。仅适用于 CARD_CLICKEDSUBMIT_DIALOG 事件类型。

formInputs

map (key: string, value: object (Inputs))

包含用户在卡片或对话框的 widget 中输入的值的映射。映射键是分配给每个 widget 的字符串 ID,其值表示该 widget 的输入。

有关详情,请参阅处理用户输入的信息

parameters

map (key: string, value: string)

传递给调用的函数的自定义参数。键和值都必须是字符串。

invokedFunction

string

与微件关联的所调用函数的名称。仅针对 Chat 应用设置。

TimeZone

时区 ID 以及相对于世界协调时间 (UTC) 的偏移量。仅适用于 CARD_CLICKEDSUBMIT_DIALOG 事件类型。

JSON 表示法
{
  "id": string,
  "offset": integer
}
字段
id

string

IANA TZ 时区数据库代码,例如“America/Toronto”。

offset

integer

相对于世界协调时间 (UTC) 的用户时区偏移量(以毫秒为单位)。

输入内容

用户可以在卡片或对话框中输入的数据类型。输入类型取决于 widget 接受的值的类型。

JSON 表示法
{

  // Union field inputs can be only one of the following:
  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
  // End of list of possible types for union field inputs.
}
字段

联合字段 inputs

inputs 只能是下列其中一项:

stringInputs

object (StringInputs)

一个字符串列表,表示用户在 widget 中输入的值。

如果该 widget 仅接受一个值(例如 TextInput widget),则列表会包含一个字符串对象。如果 widget 接受多个值(例如复选框的 SelectionInput widget),则列表会针对用户输入或选择的每个值包含一个字符串对象。

dateTimeInput

object (DateTimeInput)

来自接受日期和时间的 DateTimePicker 微件的日期和时间输入值。

dateInput

object (DateInput)

日期输入值来自只接受日期值的 DateTimePicker widget。

timeInput

object (TimeInput)

时间输入值来自仅接受时间值的 DateTimePicker widget。

StringInputs

常规 widget 的输入参数。对于单值微件,是一个单值列表。对于多值微件(例如复选框),呈现所有值。

JSON 表示法
{
  "value": [
    string
  ]
}
字段
value[]

string

用户输入的字符串的列表。

DateTimeInput

输入日期和时间值。

JSON 表示法
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
字段
msSinceEpoch

string (int64 format)

自纪元以来的时间(以毫秒为单位)。

hasDate

boolean

datetime 输入是否包含日历日期。

hasTime

boolean

datetime 输入是否包含时间戳。

DateInput

输入日期值。

JSON 表示法
{
  "msSinceEpoch": string
}
字段
msSinceEpoch

string (int64 format)

自纪元以来的时间(以毫秒为单位)。

TimeInput

时间输入值。

JSON 表示法
{
  "hours": integer,
  "minutes": integer
}
字段
hours

integer

24 小时制的小时。

minutes

integer

整点过后的分钟数。有效值为 0 到 59。