На этой странице представлен обзор API событий Google Workspace и объясняется, как использовать API для подписки на события в Google Workspace.
События Google Workspace отражают изменения в ресурсах Google Workspace, например, создание, обновление или удаление ресурсов. Ваше приложение может подписаться на ресурс Google Workspace, чтобы получать актуальные события, которые вас интересуют.
Как ваше приложение получает события
Чтобы ваше приложение могло получать события Google Workspace, используйте API событий Google Workspace для создания подписок на ресурсы Google Workspace.
В следующем примере показано, как API событий Google Workspace передает события в приложение Google Chat через подписку:
- Приложение для чата подписывается на пространство чата.
- В чате происходят изменения. Например, в чате появляется новое сообщение.
- Чат отправляет событие в тему в Google Cloud Pub/Sub , которая служит конечной точкой уведомлений для подписки. Событие содержит данные об изменении. Например, для события о новом сообщении оно содержит подробную информацию о созданном ресурсе
Message. - Приложение «Чат» обрабатывает сообщение Google Cloud Pub/Sub, содержащее событие, и при необходимости выполняет соответствующие действия.
Важная терминология
Ниже приведён список распространённых терминов, используемых в API событий Google Workspace:
- Мероприятие Google Workspace
Изменение ресурса Google Workspace. События форматируются в соответствии со спецификацией CloudEvents и могут быть либо событием подписки , либо событием жизненного цикла :
- Подписка на мероприятие
- Изменение ресурса Google Workspace, который вы отслеживаете, например, новое сообщение в пространстве Google Chat. Вы можете указать, насколько подробную информацию об измененном ресурсе вы хотите получать. Подробнее см. в разделе «Структура событий Google Workspace» .
- Событие жизненного цикла
- Событие, связанное с вашей подпиской Google Workspace. События жизненного цикла уведомляют вас о проблемах и состоянии вашей подписки, чтобы вы не пропустили события, связанные с подпиской. По умолчанию ваша подписка всегда получает события жизненного цикла. Подробнее см. в разделе «События жизненного цикла для подписок Google Workspace» .
- Подписка на Google Workspace
Именованный объект, отслеживающий ресурс из приложения Google Workspace. Подписка представлена ресурсом
Subscription. Подписка определяется следующей информацией:- Целевой ресурс
- Ресурс Google Workspace, который вы хотите отслеживать. Этот ресурс представлен в поле
targetResourceподписки Google Workspace. Каждая подписка может отслеживать только один ресурс. Чтобы узнать, какие ресурсы Google Workspace поддерживает API событий Google Workspace, см. раздел «Поддерживаемые события Google Workspace» . - Типы событий
- Типы изменений, о которых вы хотите получать уведомления для целевого ресурса. Например, если вы подписаны на пространство Google Chat, вы можете выбрать, получать ли события, касающиеся этого пространства и его дочерних ресурсов, таких как членство и сообщения.
- конечная точка уведомления
- Конечная точка, куда подписка Google Workspace получает события. API событий Google Workspace поддерживает темы Google Cloud Pub/Sub в качестве конечной точки уведомлений. Чтобы узнать больше об использовании Google Cloud Pub/Sub, см. документацию Google Cloud Pub/Sub .
- Варианты полезной нагрузки
- Данные о событиях , которые вы хотите получать, касающиеся измененных ресурсов.
Поддерживаемые события Google Workspace
События, которые может получать ваше приложение, зависят от целевого ресурса вашей подписки. В следующей таблице показаны поддерживаемые события для каждого возможного целевого ресурса.
| Целевой ресурс | Поддерживаемые мероприятия |
|---|---|
| Пространства чата Google |
|
| Пользователи Google Чата |
|
| Файлы Google Диска или файлы общего диска |
|
| Пространства для встреч в Google Meet |
|
| Пользователи Google Meet |
|
Для получения более подробной информации ознакомьтесь со следующими руководствами:
- Подпишитесь на события Google Chat
- Подпишитесь на мероприятия Google Drive
- Подпишитесь на мероприятия Google Meet
Структура событий Google Workspace
События Google Workspace соответствуют спецификации CloudEvents , которая является отраслевым стандартом описания данных событий. События Google Workspace содержат следующее:
В следующем разделе объясняется структура атрибутов и данных для событий Google Workspace.
атрибуты CloudEvent
События Google Workspace содержат следующие обязательные атрибуты CloudEvents :
| Атрибут | Описание | Пример |
|---|---|---|
| Тип данных, переданных в ходе события. | |
| Идентификатор для события CloudEvent. | |
| Источник события. Для событий Google Workspace это полное имя ресурса подписки. | //workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg |
| Версия спецификации CloudEvents, использованная для этого мероприятия. | |
| Ресурс Google Workspace, где произошло событие. | |
| Отметка времени, когда произошло событие, в формате RFC 3339 . | |
| Тип события Google Workspace. | |
данные о событии
Данные события представляют собой полезную нагрузку, отражающую изменение целевого ресурса вашей подписки, включая дочерние ресурсы целевого ресурса. В вашей подписке вы можете указать, хотите ли вы, чтобы полезная нагрузка включала данные об измененном ресурсе или только имя измененного ресурса.
Например, если у вас есть подписка на чат, вы можете получать события о новых сообщениях в этом пространстве. Для событий о новых сообщениях данные события содержат полезную нагрузку с ресурсом Chat spaces.message , который был создан.
При создании подписки вы можете указать, какой объем данных о ресурсах будет включен в события, получаемые вашим приложением.
| Данные ресурсов | Полезная нагрузка | Срок действия подписки истекает |
|---|---|---|
| Включите данные о ресурсах. | Содержит некоторые или все поля измененного ресурса. | До 4 часов, или 24 часов, если вы используете делегирование на уровне домена . |
| Исключить данные о ресурсах | Содержит только название измененного ресурса. | До 7 дней |
Эти параметры для данных событий представлены в поле payloadOptions вашей подписки.
События в виде сообщений Google Cloud Pub/Sub
В подписках на API событий Google Workspace используются темы Google Cloud Pub/Sub в качестве конечной точки уведомлений, которая получает события Google Workspace. События кодируются в виде сообщений Google Cloud Pub/Sub. Ваше приложение может обрабатывать сообщения Google Cloud Pub/Sub для выполнения действий или ответа на событие.
В следующем примере показано сообщение Google Cloud Pub/Sub, содержащее событие об обновлении сообщения в чате:
{
"message":
{
"attributes":
{
"ce-datacontenttype": "application/json",
"ce-id": "spaces/SPACE_ID/spaceEvents/SPACE_EVENT_ID",
"ce-source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
"ce-specversion": "1.0",
"ce-subject": "//chat.googleapis.com/spaces/SPACE_ID",
"ce-time": "2023-09-07T21:37:53.274191Z",
"ce-type": "google.workspace.chat.message.v1.updated"
},
"data": "EVENT_DATA",
"messageId": "PUBSUB_MESSAGE_ID",
"orderingKey": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
"publishTime": "2023-09-07T21:37:53.713Z"
}
}
Обратите внимание на следующие поля:
-
attributes: Атрибуты для объекта CloudEvent , которые включают тип события. В данном случае событие связано с обновлением сообщения в пространстве. -
data: Данные события с подробной информацией об обновленном ресурсеspaces.message, отформатированные как строка, закодированная в Base64. -
messageId: Идентификатор сообщения Google Cloud Pub/Sub.
Чтобы узнать больше о том, как события CloudEvents указываются в сообщениях Google Cloud Pub/Sub, см. раздел «Привязка протокола Google Cloud Pub/Sub для событий CloudEvents» .