Event

Событие взаимодействия приложения Google Chat, которое представляет и содержит данные о взаимодействии пользователя с приложением Chat. Чтобы настроить приложение Chat для получения событий взаимодействия, см. раздел Получение и ответ на взаимодействия пользователя .

Помимо получения событий от взаимодействий пользователей, приложения Chat могут получать события об изменениях в пространствах, например, когда в пространство добавляется новый участник. Чтобы узнать о событиях пространства, см. Работа с событиями из Google Chat .

JSON-представление
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Поля
type

enum ( EventType )

Тип взаимодействия пользователя с приложением чата, например MESSAGE или ADDED_TO_SPACE .

eventTime

string ( Timestamp format)

Временная метка, указывающая, когда произошло событие взаимодействия.

token

string

Секретное значение, которое устаревшие приложения Chat могут использовать для проверки того, исходит ли запрос от Google. Google случайным образом генерирует токен, и его значение остается статическим. Вы можете получить, отозвать или повторно сгенерировать токен на странице конфигурации API Chat в Google Cloud Console.

Современные приложения Chat не используют это поле. Оно отсутствует в ответах API и на странице конфигурации API Chat .

threadKey

string

Определенный приложением Chat ключ для потока, связанного с событием взаимодействия. См. spaces.messages.thread.threadKey для получения дополнительной информации.

message

object ( Message )

Для событий взаимодействия ADDED_TO_SPACE , CARD_CLICKED и MESSAGE — сообщение, вызвавшее событие взаимодействия, если применимо.

user

object ( User )

Пользователь, взаимодействовавший с приложением чата.

thread

object ( Thread )

Поток, в котором пользователь взаимодействовал с приложением Chat. Это может быть новый поток, созданный новым отправленным сообщением. Это поле заполняется, если событие взаимодействия связано с определенным сообщением или потоком.

space

object ( Space )

Пространство, в котором пользователь взаимодействует с приложением чата.

action

object ( FormAction )

Для событий взаимодействия CARD_CLICKED данные действия формы, связанные с тем, что пользователь нажимает на карточку или диалог. Чтобы узнать больше, см . раздел Чтение данных формы, введенных пользователями на карточках .

configCompleteRedirectUrl

string

Этот URL заполняется для событий взаимодействия MESSAGE , ADDED_TO_SPACE и APP_COMMAND . После завершения потока авторизации или конфигурации вне Google Chat пользователи должны быть перенаправлены на этот URL, чтобы сообщить Google Chat, что поток авторизации или конфигурации был успешным. Для получения дополнительной информации см. раздел Подключение приложения Chat к другим службам и инструментам .

isDialogEvent

boolean

Для событий взаимодействия CARD_CLICKED и MESSAGE — взаимодействует ли пользователь с диалогом или собирается взаимодействовать с ним.

dialogEventType

enum ( DialogEventType )

Тип полученного события диалогового взаимодействия.

common

object ( CommonEventObject )

Представляет информацию о клиенте пользователя, такую ​​как локаль, хост-приложение и платформа. Для приложений чата CommonEventObject включает информацию, отправленную пользователями, взаимодействующими с диалогами , например данные, введенные на карточке.

appCommandMetadata

object ( AppCommandMetadata )

Метаданные о команде приложения чата.

CommonEventObject

Представляет информацию о клиенте пользователя, такую ​​как локаль, хост-приложение и платформа. Для приложений чата 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 )

Перечисление платформы, которое указывает платформу, на которой происходит событие ( WEB , IOS или ANDROID ). Не поддерживается приложениями чата.

timeZone

object ( TimeZone )

Идентификатор часового пояса и смещение относительно всемирного координированного времени (UTC). Поддерживается только для типов событий CARD_CLICKED и SUBMIT_DIALOG .

formInputs

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

Карта, содержащая значения, которые пользователь вводит в виджет из карточки или диалога. Ключи карты — это идентификаторы строк, назначенные каждому виджету, а значения представляют собой входные данные для виджета.

Подробную информацию см. в разделе Обработка информации, введенной пользователями .

parameters

map (key: string, value: string)

Пользовательские параметры , переданные вызываемой функции. И ключи, и значения должны быть строками.

invokedFunction

string

Имя вызываемой функции, связанной с виджетом. Устанавливается только для приложений чата.

Часовой пояс

Идентификатор часового пояса и смещение относительно всемирного координированного времени (UTC). Поддерживается только для типов событий CARD_CLICKED и SUBMIT_DIALOG .

JSON-представление
{
  "id": string,
  "offset": integer
}
Поля
id

string

Код базы данных часовых поясов IANA TZ , например «Америка/Торонто».

offset

integer

Смещение часового пояса пользователя в миллисекундах от всемирного координированного времени (UTC).

Входы

Типы данных, которые пользователи могут вводить на карточках или в диалогах . Тип ввода зависит от типа значений, которые принимает виджет.

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 поля Union.

inputs могут быть только одними из следующих:

stringInputs

object ( StringInputs )

Список строк, представляющих значения, которые пользователь вводит в виджет.

Если виджет принимает только одно значение, например, виджет TextInput , список содержит один строковый объект. Если виджет принимает несколько значений, например, виджет SelectionInput флажков, список содержит строковый объект для каждого значения, которое вводит или выбирает пользователь.

dateTimeInput

object ( DateTimeInput )

Входные значения даты и времени из виджета DateTimePicker который принимает как дату, так и время.

dateInput

object ( DateInput )

Ввод значений даты из виджета DateTimePicker , который принимает только значения даты.

timeInput

object ( TimeInput )

Значения ввода времени из виджета DateTimePicker , который принимает только значения времени.

StringInputs

Входной параметр для обычных виджетов. Для однозначных виджетов это список с одним значением. Для многозначных виджетов, таких как флажок, представлены все значения.

JSON-представление
{
  "value": [
    string
  ]
}
Поля
value[]

string

Список строк, введенных пользователем.

ДатаВремяВвод

Входные значения даты и времени.

JSON-представление
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Поля
msSinceEpoch

string ( int64 format)

Время с начала эпохи, в миллисекундах.

hasDate

boolean

Включает ли ввод datetime календарную дату.

hasTime

boolean

Включает ли ввод datetime временную метку.

ДатаВвод

Входные значения даты.

JSON-представление
{
  "msSinceEpoch": string
}
Поля
msSinceEpoch

string ( int64 format)

Время с начала эпохи, в миллисекундах.

ВремяВвода

Значения входных данных времени.

JSON-представление
{
  "hours": integer,
  "minutes": integer
}
Поля
hours

integer

Час в 24-часовом формате.

minutes

integer

Количество минут после часа. Допустимые значения от 0 до 59.

AppCommandMetadata

Метаданные о команде приложения чата .

JSON-представление
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Поля
appCommandId

integer

Идентификатор команды, указанный в конфигурации API чата.

appCommandType

enum ( AppCommandType )

Тип команды приложения чата.