На этой странице описаны события чата, на которые приложение чата может подписаться, используя API событий Google Workspace. После того, как вы определите, какие типы событий вам нужны, создайте подписку, чтобы начать получать события из чата.
Помимо подписки на события, вы также можете запрашивать события, используя API Google Chat. Вызов API Chat позволяет периодически получать события или наверстывать упущенное из-за сбоя в работе сервиса, если вы пропустили подписку. Чтобы узнать о способах получения событий Chat и ответа на них, см. раздел «Работа с событиями из Chat» в документации Chat.
Поддерживаемые события чата
Подписки Google Workspace позволяют получать события, касающиеся следующих типов изменений в чате:
- Новые, обновленные или удаленные сообщения в этом пространстве.
- Новые или удалённые реакции на сообщение.
- В этом пространстве появились новые, обновились данные или были удалены некоторые участники .
- Изменения в пространстве , на которое вы подписаны, например, обновление названия или описания пространства.
Ресурсы, за которыми вы можете следить на предмет событий.
Для получения событий необходимо указать ресурс чата, который следует отслеживать, — это целевой ресурс подписки.
API событий Google Workspace поддерживает следующие целевые ресурсы для чата:
| Целевой ресурс | Формат | Ограничения |
|---|---|---|
| Космос | где SPACE — это идентификатор в имени ресурса | Пользователь чата или приложение чата, авторизующее подписку, должно быть участником пространства через свою учетную запись Google Workspace или Google Account. Поддерживается: |
| Все места для пользователя | | Подписка получает события только для тех пространств, где пользователь является участником через свою учетную запись Google Workspace или Google Account. Поддерживается только аутентификация пользователя . |
| Пользователь | где USER — это идентификатор в имени ресурса | Подписка получает события только о пользователе, который её авторизовал. Пользователь не может авторизовать подписку от имени других пользователей. Поддерживается только аутентификация пользователя . |
Типы событий для создания подписок
При создании подписки используйте поле eventTypes[] , чтобы указать, какие типы событий вы хотите получать. Типы событий форматируются в соответствии со спецификацией CloudEvents, например, google.workspace. APPLICATION . RESOURCE . VERSION . ACTION .
Например, чтобы получать события о присоединении пользователей к чату, укажите чат в качестве целевого ресурса, а тип события — google.workspace.chat.membership.v1.created . Чтобы получать события о присоединении конкретного пользователя к любому чату, укажите пользователя в качестве целевого ресурса, а тип события — google.workspace.chat.membership.v1.created . Более подробную информацию о работе событий см. в разделе «Структура событий Google Workspace» .
В таблице ниже показано, какие типы событий поддерживаются для подписок на пространства и подписок на пользователей. Чтобы узнать об исключениях, определяющих, что запускает событие, см. раздел «Ограничения» .
| Тип события | Формат | Данные ресурсов | ||
|---|---|---|---|---|
| Подписки на помещения | ||||
| Сообщение опубликовано. | | | ||
| Сообщение обновлено. | | | ||
| Сообщение удалено. | | | ||
| Происходит реакция. | | | ||
| Реакция удаляется. | | | ||
| В пространство добавляется новый участник. | | | ||
| Информация о пользователе обновляется в этом разделе. | | | ||
| Участник удаляется из помещения. | | | ||
| Помещение обновлено. | | | ||
| Пробел удален. | | | ||
| Подписки для пользователей | ||||
| Пользователь становится участником пространства. Не все новые участники запускают события. Подробности см. в разделе «Ограничения». | | | ||
| Информация о членстве пользователя в пространстве обновляется. | | | ||
| Пользователь удаляется как непосредственный участник пространства. | | | ||
Типы пакетных событий (только для вывода)
Помимо получения событий тех типов, на которые вы подписаны, ваше приложение «Чат» может также получать пакетные события. Пакетное событие — это событие, представляющее собой множество событий одного типа, происходящих за короткий промежуток времени. Полезная нагрузка пакетного события содержит список всех измененных ресурсов.
Например, если пользователь одновременно добавляет 20 пользователей в пространство, ваше приложение чата может получить пакетное событие ( google.workspace.chat.membership.v1.batchCreated ). Полезная нагрузка события содержит список всех новых ресурсов Membership , созданных при добавлении пользователем участников в пространство.
Для каждого типа событий, на которые вы подписаны, вы получаете пакетное событие, поэтому вам не нужно указывать пакетные события при создании подписки. Например, если вы подписываетесь на новые реакции ( google.workspace.chat.reaction.v1.created ), ваше приложение чата автоматически настраивается на получение пакетных событий реакций ( google.workspace.chat.reaction.v1.batchCreated ).
В следующей таблице показаны возможные пакетные события для подписки:
| Тип пакетного события | Формат |
|---|---|
| Опубликовано несколько сообщений. | |
| Обновлено несколько сообщений. | |
| Удаляется несколько сообщений. | |
| Происходит множество реакций. | |
| Удаляется несколько реакций. | |
| В подписанное пространство добавлено несколько участников, или же подписанный пользователь добавлен в несколько пространств. | |
| Обновление данных о нескольких подписках происходит либо в личном кабинете подписчика, либо для самого подписавшегося пользователя. | |
| Из подписанного пространства удалено несколько участников, или же подписанный пользователь был удален из нескольких пространств. | |
| В помещении было проведено множество обновлений. | |
данные о событии
В этом разделе описываются данные о событиях и приводятся примеры полезной нагрузки для событий в чате.
Когда ваша подписка на Google Workspace получает событие из чата, поле data содержит полезную нагрузку для этого события. Эта полезная нагрузка содержит информацию об измененном ресурсе Google Workspace. Например, если вы подписаны на события членства в пространстве, полезная нагрузка для этих событий будет содержать информацию об измененном ресурсе spaces.membership .
Данные ресурсов в полезной нагрузке события
При создании подписки вы можете указать, хотите ли вы, чтобы полезная нагрузка включала подробную информацию о ресурсе или только его название. Например, если вы хотите получать события о пользователях в чате, укажите, какие поля ресурса членства вы хотите включить в полезную нагрузку события.
В следующей таблице приведены примеры JSON-данных для подписки на чат spaces/AAAABBBBBB . Для каждого события, полученного подпиской, данные отображаются в поле data события:
| Пример | Тип события | JSON-данные |
|---|---|---|
Пользователь размещает в поле сообщение со словами "Hello world". | | Включает данные о ресурсах:
{
"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.
- Создайте подписку , чтобы получать события чата.