Работа с событиями из Google Chat

На этой странице объясняется, как приложения Google Chat могут получать события в Google Chat и реагировать на них.

Событие Google Chat представляет собой действие или изменение в Chat, например новое сообщение в теме. Ваше приложение чата может использовать события, чтобы понять, что произошло, и принять меры или ответить значимым образом для ваших пользователей.

Вот несколько примеров того, как вы можете использовать события:

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

Как проходят мероприятия

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

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

В следующей таблице показано, как действие в Chat влияет на связанный ресурс Chat API, а также тип события, которое получает ваше приложение Chat:

Активность Ресурс API чата Тип события
Пользователь публикует сообщение в Chat . Ресурс Message создан. Новое сообщение
Пользователь становится менеджером пространства. Ресурс Membership обновлен. Обновленное членство
Пользователь реагирует на сообщение. Ресурс Reaction создан. Новая реакция
Пользователь покидает пространство. Ресурс Membership удален. Удалено членство

Получать события из Google Chat

Чтобы получать события, ваше приложение Chat может выполнять одно из следующих действий:

  • Подпишитесь на события с помощью API событий Google Workspace, чтобы получать события по мере их возникновения.
  • Запрос событий путем вызова API чата.

API событий Google Workspace и API чата поддерживают и доставляют одни и те же типы событий. Чтобы понять, следует ли вам подписываться на события или запрашивать их, просмотрите следующую таблицу:

Подписаться на события Запрос событий
Случаи использования
  • Обрабатывайте события или реагируйте на них в режиме реального времени.
  • Отслеживайте активность пользователей и открывайте новые пространства для мониторинга.
  • Обрабатывайте события или реагируйте на них периодически или с помощью триггера.
  • Получить пропущенные события из подписки (из-за сбоя или неактивной подписки).
API API событий Google Workspace API чата
Источник событий Пространства и пользователи Только пробелы
Формат мероприятия Сообщение Google Cloud Pub/Sub, отформатированное в соответствии со спецификацией CloudEvent. Подробности см. в разделе Структура событий Google Workspace . Ресурс API чата ( spaces.spaceEvent )
Данные о событии Строка в кодировке Base64 с данными ресурса или без них. Пример полезных данных см. в разделе Данные о событиях . Полезная нагрузка JSON, содержащая данные ресурсов. Некоторые типы событий включают только определенные поля ресурсов. Пример полезных данных см. в справочной документации SpaceEvents .

Дополнительную информацию о создании подписок с помощью Google Workspace Events API см. в документации Google Workspace Events API . Чтобы запросить события с помощью Chat API, см. следующие руководства:

Ограничения

  • Что касается подписок на пользователей, события о новых участниках в личных сообщениях или безымянных групповых чатах ( google.workspace.chat.membership.v1.created ) срабатывают только после публикации первого сообщения.
  • Изменения в истории чат-группы не приводят к обновлению событий чат-группы (тип события: google.workspace.chat.spaces.v1.updated ).
  • Чтобы получать события членства, пользователь должен быть непосредственным участником пространства. Если пользователь был добавлен, обновлен или удален в пространстве косвенно через группу Google, подписка не получает эти события членства. Чтобы понять, как работает членство в группах Google, см. раздел Добавление группы Google в пространство .