Подпишитесь на события Google Chat

На этой странице описаны события Google Chat, на которые приложение Google Chat может подписаться с помощью API событий Google Workspace.

Дополнительную информацию о разработке приложения Google Chat см. в обзоре API Google Chat .

Поддерживаемые целевые ресурсы Chat

API Google Workspace Events поддерживает подписку на:

  • Пространства, представленные как space ресурсы
  • Пользователи, представленные как user ресурсы Cloud Identity API.

Поддерживаемые события чата

Подписки на Google Workspace позволяют получать события о следующих типах изменений в Chat:

  • Новые или обновленные сообщения в теме.
  • Новые или удаленные реакции на сообщение.
  • Новые, обновленные или удаленные участники в пространстве.
  • Изменения в пространстве , на которое вы подписаны, например обновленное имя или описание пространства.

Типы событий для создания подписок

Когда вы создаете подписку, вы используете поле eventTypes[] , чтобы указать, какие типы событий вы хотите получать. Типы событий форматируются в соответствии со спецификацией CloudEvents, например google.workspace. APPLICATION . RESOURCE . VERSION . ACTION .

Например, чтобы получать события о том, что пользователи присоединяются к чат-группе, вы указываете чат-группу в качестве целевого ресурса, а тип события — google.workspace.chat.membership.v1.created . Чтобы получать события о присоединении определенного пользователя к какому-либо пространству, вы указываете пользователя в качестве целевого ресурса и тип события — google.workspace.chat.membership.v1.created . Дополнительную информацию о том, как работают события, см. в разделе Структура событий Google Workspace .

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

Тип события Описание Данные ресурса
Подписки на пространства

google.workspace.chat.message.v1.created

Опубликовано новое сообщение.

space.message

google.workspace.chat.message.v1.updated

Сообщение обновляется.

space.message

google.workspace.chat.reaction.v1.created

Возникает реакция.

space.message.reaction

google.workspace.chat.reaction.v1.deleted

Реакция удалена.

space.message.reaction

google.workspace.chat.membership.v1.created

В этом пространстве создается участник.

space.membership

google.workspace.chat.membership.v1.updated

В этом пространстве обновляется участник.

space.membership

google.workspace.chat.membership.v1.deleted

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

space.membership

google.workspace.chat.space.v1.updated

Пространство обновляется.

space

google.workspace.chat.space.v1.deleted

Пространство удалено.

space

Подписки на пользователей

google.workspace.chat.membership.v1.created

Пользователь становится участником пространства.

space.membership

google.workspace.chat.membership.v1.updated

Членство пользователя в пространстве обновляется.

space.membership

google.workspace.chat.membership.v1.deleted

Пользователь удаляется из числа участников пространства.

space.membership

Выводить только типы событий

Подписка на google.workspace. APPLICATION . RESOURCE . VERSION . ACTION Типы событий google.workspace. APPLICATION . RESOURCE . VERSION . ACTION автоматически настраивают подписку на получение пакетных версий событий этого типа. Например, если вы подпишетесь на google.workspace.chat.membership.v1.created , вы также будете получать события для google.workspace.chat.membership.v1.batchCreated .

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

Тип события Описание Данные ресурса

google.workspace.chat.message.v1.batchCreated

Одновременно публикуется несколько сообщений.

Список spaces.messages

google.workspace.chat.message.v1.batchUpdated

Несколько сообщений обновляются одновременно.

Список spaces.messages

google.workspace.chat.reaction.v1.batchCreated

Одновременно создаются несколько реакций.

Список spaces.messages.reactions

google.workspace.chat.reaction.v1.batchDeleted

Одновременно удаляются несколько реакций.

Список spaces.messages.reactions

google.workspace.chat.membership.v1.batchCreated

  • Если target_resource — это пространство : в пространстве создается несколько участников.
  • Если target_resource является пользователем : пользователь становится членом нескольких пространств.

Список spaces.memberships

google.workspace.chat.membership.v1.batchUpdated

  • Если target_resource — это пространство : в пространстве обновляются несколько членов.
  • Если target_resource является пользователем : членство пользователя в пространствах имеет несколько обновлений.

Список spaces.memberships

google.workspace.chat.membership.v1.batchDeleted

  • Если target_resource — это пространство : в пространстве удаляются несколько участников.
  • Если target_resource является пользователем : пользователь удаляется как участник из нескольких пространств.

Список spaces.memberships

google.workspace.chat.space.v1.batchUpdated

В пространстве есть несколько обновлений.

Список spaces

Данные о событии

В этом разделе описаны данные событий и примеры полезных данных для событий в Chat.

Когда ваша подписка на Google Workspace получает событие из Chat, поле data содержит полезную нагрузку для события. Эта полезная нагрузка содержит информацию об изменившемся ресурсе Google Workspace. Например, если вы подписались на события членства в пространстве, полезные данные для этих событий содержат информацию об изменившемся ресурсе spaces.membership .

Данные ресурса в полезных данных события

При создании подписки вы можете указать, хотите ли вы, чтобы полезные данные включали сведения о ресурсе или только имя ресурса. Например, если вы хотите получать события об участниках в пространстве чата, вы можете указать, какие поля ресурса членства вы хотите получать в полезных данных события.

В следующей таблице приведены примеры полезных данных JSON для подписки на spaces/AAAABBBBBB . Для каждого события, которое получает подписка, полезные данные отображаются в поле data события:

Пример Тип события Полезная нагрузка JSON

Пользователь публикует сообщение в пространстве с надписью «Привет, мир».

google.workspace.chat.message.v1.created

Включает данные о ресурсах
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
Исключает данные ресурсов
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Пользователь становится менеджером пространства.

google.workspace.chat.membership.v1.updated

Включает данные о ресурсах
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
Исключает данные ресурсов
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
Пользователь обновляет описание помещения на «Команда продаж Cymbal Labs». google.workspace.chat.space.v1.updated
Включает данные о ресурсах
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
Исключает данные ресурсов
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Два пользователя чата были добавлены в пространство одновременно. google.workspace.chat.membership.v1.batchCreated
Включает данные о ресурсах
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
Исключает данные ресурсов
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
Пользователь реагирует на сообщение смайлом 😊. google.workspace.chat.reaction.v1.created
Включает данные о ресурсах
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
Опускает данные о ресурсах
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
Пользователи реагируют на сообщение смайлами 😊 и 😸. google.workspace.chat.reaction.v1.batchCreated
Включает данные о ресурсах
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
Опускает данные о ресурсах
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}