Event

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

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

Примечание: это событие используется только для событий взаимодействия в чате . Если ваше приложение чата создано как надстройка Google Workspace , см. объекты событий чата в документации по надстройкам.

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

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

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

threadKey

string

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

message

object ( Message )

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

user

object ( User )

Пользователь, который взаимодействовал с приложением «Чат».

thread

object ( Thread )

Ветка обсуждения, в которой пользователь взаимодействовал с приложением «Чат». Это может быть новая ветка, созданная на основе только что отправленного сообщения. Это поле заполняется, если событие взаимодействия связано с конкретным сообщением или веткой обсуждения.

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

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

В дополнение к триггерам главной страницы и контекстным триггерам, дополнения создают и передают объекты событий функциям обратного вызова действий , когда пользователь взаимодействует с виджетами. Функция обратного вызова вашего дополнения может запрашивать общий объект события, чтобы определить содержимое открытых виджетов в клиенте пользователя. Например, ваше дополнение может найти текст, введенный пользователем в виджет TextInput, в объекте eventObject.commentEventObject.formInputs .

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

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. Например, en-US .

Чтобы включить это поле, необходимо установить addOns.common.useLocaleFromApp в true в манифесте вашего дополнения. В список областей действия вашего дополнения также должен входить https://www.googleapis.com/auth/script.locale . Дополнительные сведения см. в разделе «Доступ к локали и часовому поясу пользователя» .

hostApp

enum ( HostApp )

Указывает, в каком приложении активен данный аддон на момент генерации объекта события. Возможные значения:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum ( Platform )

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

timeZone

object ( TimeZone )

По умолчанию отключено. Идентификатор часового пояса и смещение относительно Всемирного координированного времени (UTC). Чтобы включить это поле, необходимо установить addOns.common.useLocaleFromApp в значение true в манифесте вашего дополнения. В список областей действия вашего дополнения также должен входить https://www.googleapis.com/auth/script.locale . Дополнительные сведения см. в разделе «Доступ к локали и часовому поясу пользователя» .

Поддерживается только для типов событий CARD_CLICKED и SUBMIT_DIALOG .

formInputs

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

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

Структура объекта значения карты зависит от типа виджета:

Примечание : Приведенные ниже примеры отформатированы для среды выполнения V8 в Apps Script. Если вы используете среду выполнения Rhino, необходимо добавить [""] после значения. Например, вместо e.commonEventObject.formInputs.employeeName.stringInputs.value[0] следует отформатировать объект события как e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] . Для получения дополнительной информации о средах выполнения в Apps Script см. Обзор среды выполнения V8 .

  • Однозначные виджеты (например, текстовое поле): список строк (только один элемент).

Пример : для виджета текстового поля с идентификатором employeeName получите доступ к значению текстового поля следующим образом: e.commonEventObject.formInputs.employeeName.stringInputs.value[0] .

  • Многозначные виджеты (например, группы флажков): список строк.

Пример : для многозначного виджета, идентификатором которого являются participants , доступ к массиву значений осуществляется следующим образом: e.commonEventObject.formInputs.participants.stringInputs.value .

Пример : Для элемента выбора с ID myDTPicker получите доступ к объекту DateTimeInput , используя e.commonEventObject.formInputs.myDTPicker.dateTimeInput .

Пример : Для элемента выбора даты с идентификатором myDatePicker получите доступ к объекту DateInput , используя e.commonEventObject.formInputs.myDatePicker.dateInput .

Пример : Для элемента управления выбора времени с идентификатором myTimePicker получите доступ к объекту TimeInput , используя e.commonEventObject.formInputs.myTimePicker.timeInput .

parameters

map (key: string, value: string)

Любые дополнительные параметры, которые вы передаете действию с помощью actionParameters или Action.setParameters() .

Предварительная версия для разработчиков: Для дополнений, расширяющих функциональность Google Chat , чтобы предлагать элементы на основе ввода пользователей в меню с множественным выбором, используйте значение ключа "autocomplete_widget_query" ( event.commonEventObject.parameters["autocomplete_widget_query"] ). Вы можете использовать это значение для запроса к базе данных и предложения выбираемых элементов пользователям по мере ввода текста. Подробнее см. раздел «Сбор и обработка информации от пользователей Google Chat» .

invokedFunction

string

Название вызываемой функции.

Это поле не заполняется для дополнений Google Workspace, расширяющих функционал Google Chat. Вместо этого, для получения данных о функциях, таких как идентификаторы, дополнения, расширяющие функционал Chat, должны использовать поле parameters . См. раздел «Создание интерактивных интерфейсов для приложений Chat» .

Часовой пояс

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

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

string

Код часового пояса в базе данных IANA TZ , например, "America/Toronto".

offset

integer

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

Входные данные

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

JSON-представление
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Поля
Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
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 )

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