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

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

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

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

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

Помимо триггеров домашней страницы и контекстных триггеров, дополнения создают и передают объекты событий функциям обратного вызова действий, когда пользователь взаимодействует с виджетами. Функция обратного вызова вашего дополнения может запрашивать объект общего события для определения содержимого открытых виджетов в клиентской программе пользователя. Например, ваше дополнение может найти текст, введённый пользователем в виджете 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 .

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

hostApp

enum ( HostApp )

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

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

enum ( 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 ))

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

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

Примечание : Следующие примеры отформатированы для среды выполнения Apps Script V8. Если вы используете среду выполнения 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 .

Пример : для сборщика с идентификатором 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-представление
{

  // 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

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

DateTimeInput

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

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

string ( int64 format)

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

hasDate

boolean

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

hasTime

boolean

Содержит ли ввод datetime метку времени.

Ввод даты

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

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

string ( int64 format)

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

TimeInput

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

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 )

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