На этой странице объясняется, как приложения Google Chat могут получать события в Google Chat и реагировать на них.
Событие Google Chat представляет собой действие или изменение в чате, например, новое сообщение в чат-группе. Ваше приложение Chat может использовать события, чтобы понять, что произошло, и предпринять необходимые действия или отреагировать на них значимым для пользователей образом.
Вот несколько примеров того, как можно использовать события:
- Отслеживайте и реагируйте на новые сообщения в теме, например, проверяя ключевые слова или фразы.
 - Отправьте приветственное сообщение пользователям, присоединяющимся к чату, чтобы объяснить правила чата или поделиться советами о том, как эффективно использовать приложение Chat.
 - Отслеживайте и анализируйте активность в чате. Например, чтобы отправлять ежемесячный отчёт о новых участниках или сообщениях, которые вызывают наибольшее количество реакций или ответов.
 - Общайтесь через разные платформы обмена сообщениями. Например, пользователи могут отправлять и получать сообщения от пользователей других платформ, не выходя из чата.
 
Как работают события
При каждом возникновении события в Google Chat создаётся, обновляется или удаляется ресурс API Google Chat. Chat использует события для передачи в ваше приложение Chat информации о типе произошедшего действия и о ресурсе API Chat, который был затронут.
Message . Затем чат создаёт событие, содержащее данные о новом сообщении.Чат классифицирует события по типу. Типы событий помогают фильтровать и получать только необходимую информацию, а также обрабатывать схожие действия одинаковым образом.
В следующей таблице показано, как действие в чате влияет на связанный ресурс API чата, а также тип события, которое получает ваше приложение чата:
| Активность | Ресурс API чата | Тип события | 
|---|---|---|
| Пользователь публикует сообщение в чате |  Создан ресурс Message . | Новое сообщение | 
| Пользователь становится менеджером пространства. |  Обновлен ресурс Membership . | Обновленное членство | 
| Пользователь реагирует на сообщение. |  Создан ресурс Reaction . | Новая реакция | 
| Пользователь покидает пространство. |  Ресурс Membership удален. | Удаленное членство | 
Получать события из Google Chat
Чтобы получать события, ваше приложение Chat может выполнять одно из следующих действий:
- Подпишитесь на события с помощью API Google Workspace Events, чтобы получать информацию о событиях по мере их возникновения.
 - Запросите последние события, вызвав API чата.
 
В следующей таблице объясняются различия и причины запроса или подписки на события:
| Подписаться на события | Запрос событий | |
|---|---|---|
| Варианты использования | 
  | 
  | 
| API | API событий Google Workspace | API чата | 
| Источник событий | Пространства и пользователи | Только пробелы | 
| Поддерживаемые события | 
 Список поддерживаемых типов событий см. в разделе Типы событий для создания подписок в документации API событий Google Workspace.  | 
 Список поддерживаемых типов событий см. в ресурсе spaceEvents в справочной документации по API чата. | 
| Формат мероприятия | Сообщение Google Cloud Pub/Sub, отформатированное в соответствии со спецификацией CloudEvent. Подробнее см. в разделе Структура событий Google Workspace . |  Ресурс API чата ( spaces.spaceEvent ) | 
| Данные о событиях | Строка в кодировке Base64 с данными о ресурсах или без них. Примеры полезных нагрузок см. в разделе «Данные событий» . | Полезная нагрузка JSON, содержащая данные о ресурсах. Некоторые типы событий включают только определённые поля ресурсов. Примеры полезных нагрузок см. в справочной документации . | 
Пример: запрос или подписка на события, связанные с членством в пространстве.
В этом примере приложение чата хочет получать информацию об изменениях в составе участников чат-группы. В чат-группе происходят следующие действия, связанные с участием:
-  Пользователь присоединяется к пространству, что создает ресурс 
Membershipи инициирует новое событие участника. -  Пользователь становится менеджером пространства, который обновляет ресурс 
Membershipдля пользователя и запускает событие обновленного участника. -  Пользователь покидает пространство, что приводит к удалению ресурса 
Membershipдля пользователя и запуску события удаления участника. 
Подписаться на мероприятия для членов
 Для получения событий в режиме реального времени приложение Chat вызывает метод subscriptions.create() API Google Workspace Events, чтобы подписаться на все типы событий, связанных с участием в пространстве. После создания подписки приложение Chat может начать получать события, связанные с участием. 
На рисунке 2 приложение Chat имеет активную подписку на пространство, поэтому оно получает событие при каждом изменении членства в пространстве. Приложение Chat может обрабатывать любые действия и реагировать на них в режиме реального времени, например, публиковать личное приветственное сообщение участнику, присоединившемуся к пространству.
Информацию о создании подписок с помощью API Google Workspace Events см. в документации по API Google Workspace Events .
Запрос о недавних событиях членства
Вместо получения событий членства по мере их возникновения, приложение чата может вызывать API чата для составления списка недавних событий пространства, связанных с активностью членства.
 На рисунке 3 приложение Chat вызывает метод spaces.spaceEvents.list() API Chat после завершения всех действий, связанных с участием, и фильтрует запрос на наличие новых, обновлённых и удалённых событий, связанных с участием. API Chat возвращает список ресурсов spaceEvent , представляющих каждое из изменений в составе участников. Затем приложение Chat может обрабатывать запросы или реагировать на них, основываясь на последних действиях, например, публикуя еженедельное сообщение с обзором активности участников пространства за последние 7 дней.
Чтобы запросить события с помощью API чата, см . раздел Список событий из пространства Google Chat .
Ограничения
-  Для подписок на пользователей события о новых участниках в личных сообщениях или неименованных групповых чатах ( 
google.workspace.chat.membership.v1.created) срабатывают только после публикации первого сообщения. - Чтобы получать уведомления о событиях участия, пользователь или чат-приложение должны быть непосредственным участником пространства. Если пользователь был добавлен, обновлен или удален из пространства косвенно через группу Google, подписка не получает уведомления о событиях участия. Чтобы понять, как работает членство в группах Google, см. статью Добавление группы Google в пространство .
 
Похожие темы
- Обзор API событий Google Workspace
 - Создать подписку
 - Получите подробную информацию о мероприятии Google Chat Space
 - Список событий из пространства Google Chat
 - Примеры использования событий см. в руководстве Ответы на вопросы на основе разговоров в чате с приложением Gemini AI Chat или в функции инклюзивной помощи приложения управления проблемами Chat в кодовой лаборатории Создание приложений для Google Chat с помощью Gemini .