Event

Google Chat 应用互动事件,用于表示和包含与用户与 Chat 应用互动相关的数据。如需将 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)

用户与 Chat 应用互动的类型,例如 MESSAGEADDED_TO_SPACE

eventTime

string (Timestamp format)

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

token

string

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

现代 Chat 应用不使用此字段。它未出现在 API 响应和 Chat API 配置页面中。

threadKey

string

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

message

object (Message)

对于 ADDED_TO_SPACECARD_CLICKEDMESSAGE 互动事件,这是指触发互动事件的消息(如果适用)。

user

object (User)

与 Chat 应用互动的用户。

space

object (Space)

用户与 Chat 应用互动时所在的聊天室。

action

object (FormAction)

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

configCompleteRedirectUrl

string

对于 MESSAGE 互动事件,用户在 Google Chat 之外完成授权或配置流程后必须重定向到的网址。有关详情,请参阅将 Chat 应用与其他服务和工具相关联

isDialogEvent

boolean

对于 CARD_CLICKEDMESSAGE 互动事件,指明用户与对话框互动还是即将与其互动。

dialogEventType

enum (DialogEventType)

收到的对话框互动事件的类型。

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

完整的 locale.displayName,格式为 [ISO 639 语言代码]-[ISO 3166 国家/地区代码],例如“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 中输入的值的映射。映射键是分配给每个微件的字符串 ID,值表示微件的输入。

如需了解详情,请参阅处理用户输入的信息

parameters

map (key: string, value: string)

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

invokedFunction

string

与 widget 关联的已调用函数的名称。此设置仅适用于 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 中输入的值。

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

dateTimeInput

object (DateTimeInput)

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

dateInput

object (DateInput)

仅接受日期值的 DateTimePicker 微件中的日期输入值。

timeInput

object (TimeInput)

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

StringInputs

常规 widget 的输入参数。对于单值 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。