На этой странице описаны события Google Chat, на которые приложение Google Chat может подписаться с помощью API событий Google Workspace. Определив, какие типы событий вам нужны, создайте подписку , чтобы начать получать события из Google Chat.
Помимо подписки на события, вы также можете запрашивать их, вызывая API чата. Вызов API чата позволяет периодически получать события или наверстать упущенное в подписке из-за сбоя. Чтобы узнать о способах получения событий чата и реагирования на них, см. раздел «Работа с событиями из Google Chat» в документации по чату.
Поддерживаемые события чата
Подписки на Google Workspace позволяют получать события о следующих типах изменений в чате:
- Новые, обновленные или удаленные сообщения в теме.
- Новые или удаленные реакции на сообщение.
- Новые, обновленные или удаленные участники в пространстве.
- Изменения в пространстве , на которое вы подписаны, например, обновленное название или описание пространства.
Ресурсы, которые вы можете отслеживать на предмет событий
Для получения событий вы указываете ресурс чата для мониторинга, который называется целевым ресурсом подписки.
API событий Google Workspace поддерживает следующие целевые ресурсы для чата:
Целевой ресурс | Формат | Ограничения |
---|---|---|
Космос | Где SPACE — это идентификатор в имени ресурса | Пользователь чата или приложение чата, авторизующее подписку, должно быть участником пространства через свою учетную запись Google Workspace или Google. Поддерживается: |
Все места для пользователя | | Подписка получает события только для тех пространств, в которых пользователь является участником через Google Workspace или учётную запись Google. Поддерживается только аутентификация пользователя . |
Пользователь | Где USER — это идентификатор в имени ресурса | Подписка получает только события о пользователе, который её авторизовал. Пользователь не может авторизовать подписку от имени других пользователей. Поддерживает только аутентификацию пользователей . |
Типы событий для создания подписок
При создании подписки вы используете поле eventTypes[]
, чтобы указать, какие типы событий вы хотите получать. Типы событий форматируются в соответствии со спецификацией CloudEvents, например, google.workspace. APPLICATION . RESOURCE . VERSION . ACTION
.
Например, чтобы получать события о присоединении пользователей к чат-пространству, укажите это пространство в качестве целевого ресурса, а тип события — google.workspace.chat.membership.v1.created
. Чтобы получать события о присоединении пользователя к любому пространству, укажите пользователя в качестве целевого ресурса, а тип события — google.workspace.chat.membership.v1.created
. Подробнее о работе событий см. в статье «Структура событий Google Workspace» .
В следующей таблице показаны типы событий, поддерживаемые для подписок на пространства и подписок на пользователей. Чтобы узнать об исключениях, связанных с событиями, см. раздел «Ограничения» .
Тип события | Формат | Данные о ресурсах | ||
---|---|---|---|---|
Подписки на пространства | ||||
Сообщение опубликовано. | | | ||
Сообщение обновлено. | | | ||
Сообщение удалено. | | | ||
Возникает реакция. | | | ||
Реакция удалена. | | | ||
Участник добавлен в пространство. | | | ||
Участник обновлен в пространстве. | | | ||
Участник удален из пространства. | | | ||
Пространство обновлено. | | | ||
Пространство удалено. | | | ||
Подписки на пользователей | ||||
Пользователь становится участником пространства. Не все новые участники запускают события. Подробнее см. в разделе «Ограничения». | | | ||
Членство пользователя в пространстве обновляется. | | | ||
Пользователь удален как непосредственный участник пространства. | | |
Типы пакетных событий (только вывод)
Помимо получения событий, на которые вы подписаны, ваше приложение Chat может также получать пакетные события. Пакетное событие — это событие, представляющее собой множество событий одного типа, происходящих за короткий промежуток времени. Полезная нагрузка пакетного события содержит список всех изменённых ресурсов.
Например, если пользователь добавляет в пространство одновременно 20 участников, ваше приложение чата может получить пакетное событие ( google.workspace.chat.membership.v1.batchCreated
). Полезная нагрузка события содержит список всех новых ресурсов Membership
, созданных при добавлении пользователем участников в пространство.
Вы получаете пакетное событие для любого типа событий, на которые вы подписаны, поэтому вам не нужно указывать пакетные события при создании подписки. Например, если вы подписываетесь на новые реакции ( google.workspace.chat.reaction.v1.created
), ваше приложение Chat автоматически настраивается на получение событий пакетных реакций ( google.workspace.chat.reaction.v1.batchCreated
).
В следующей таблице показаны возможные пакетные события для подписки:
Тип пакетного события | Формат |
---|---|
Опубликовано несколько сообщений. | |
Обновлено несколько сообщений. | |
Несколько сообщений удалены. | |
Возникает множество реакций. | |
Множественные реакции удалены. | |
В подписанное пространство добавлено несколько участников, или подписанный пользователь добавлен в несколько пространств. | |
Несколько членств обновляются в подписанном пространстве или для подписанного пользователя. | |
Несколько участников удалены из подписанного пространства, или подписанный пользователь удален из нескольких пространств. | |
В пространстве произошло несколько обновлений. | |
Данные о событиях
В этом разделе описываются данные событий и примеры полезной нагрузки для событий в чате.
Когда ваша подписка на Google Workspace получает событие из Chat, поле data
содержит полезную нагрузку этого события. Эта полезная нагрузка содержит информацию об изменившемся ресурсе Google Workspace. Например, если вы подписаны на события, связанные с членством в пространстве, полезная нагрузка для этих событий содержит информацию об изменившемся ресурсе spaces.membership
.
Данные о ресурсах в полезной нагрузке события
При создании подписки вы можете указать, должна ли полезная нагрузка включать сведения о ресурсе или только его название. Например, если вы хотите получать события об участниках чат-группы, вы можете указать, какие поля ресурса членства вы хотите получать в полезной нагрузке события.
В следующей таблице приведены примеры полезных данных JSON для подписки на чат-пространство spaces/AAAABBBBBB
. Для каждого события, получаемого подпиской, полезные данные отображаются в поле data
события:
Пример | Тип события | полезная нагрузка JSON |
---|---|---|
Пользователь публикует сообщение в поле с надписью «Привет, мир». | | Включает данные о ресурсах: { "message": { "name": "spaces/ Исключает данные о ресурсах: { "message": { "name": "spaces/ |
Пользователь становится менеджером пространства. | | Включает данные о ресурсах: { "membership": { "name": "spaces/ Исключает данные о ресурсах: { "membership": { "name": "spaces/ |
Пользователь обновляет описание пространства на «Отдел продаж Cymbal Labs». | google.workspace.chat.space.v1.updated | Включает данные о ресурсах:
{
"space":
{
"name": "spaces/ Исключает данные о ресурсах:
{
"space":
{
"name": "spaces/ |
В пространство одновременно были добавлены два пользователя чата. | google.workspace.chat.membership.v1.batchCreated | Включает данные о ресурсах: { "memberships": [ { "membership": { "name": "spaces/ Исключает данные о ресурсах: { "memberships": [ { "membership": { "name": "spaces/ |
Пользователь реагирует на сообщение с помощью эмодзи 😊. | google.workspace.chat.reaction.v1.created | Включает данные о ресурсах: { "reaction": { "name": "spaces/ Исключает данные о ресурсах: { "reaction": { "name": "spaces/ |
Пользователи реагируют на сообщение с помощью эмодзи 😊 и 😸. | google.workspace.chat.reaction.v1.batchCreated | Включает данные о ресурсах: { "reactions": [ { "reaction": { "name": "spaces/ Исключает данные о ресурсах: { "reactions": [ { "reaction": { "name": "spaces/ |
Ограничения
- Для подписок на пользователей события о новых участниках в личных сообщениях или неименованных групповых чатах (
google.workspace.chat.membership.v1.created
) срабатывают только после публикации первого сообщения. - Чтобы получать уведомления о событиях участия, пользователь или чат-приложение должны быть непосредственным участником пространства. Если пользователь был добавлен, обновлен или удален из пространства косвенно через группу Google, подписка не получает уведомления о событиях участия. Чтобы понять, как работает членство в группах Google, см. статью Добавление группы Google в пространство .
Похожие темы
- Структура событий Google Workspace
- Выберите области действия OAuth
- Создайте подписку , чтобы получать события чата