Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Уведомления об изменении в Microsoft Graph поддерживают подписки на виртуальные события. Уведомления об изменениях обеспечивают модель с низкой задержкой, позволяя поддерживать веб-перехватчик для виртуальных событий Microsoft Teams. Виртуальные подписки на события имеют максимальный период в день. Чтобы продлить время существования подписки, ее необходимо продлить до истечения срока действия. Кроме того, пользователь может создать новую подписку для ресурса после истечения срока действия существующей подписки. Дополнительные сведения см. в статье Получение уведомлений об изменениях с помощью API Graph Майкрософт.
Разрешения
| Тип разрешения | Разрешения (в порядке повышения привилегий) | Поддерживаемые версии |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | VirtualEvent.Read, VirtualEvent.ReadWrite | версия 1.0, бета-версия |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
| Приложение | VirtualEvent.Read.All | версия 1.0, бета-версия |
Подписываемые виртуальные события
В следующей таблице приведена сводка подписываемых типов виртуальных событий, URL-адресов ресурсов, используемых в полезных данных подписки, и поддерживаемых типов изменений для подписки на уведомления.
| Типы виртуальных событий | URL-адрес ресурса | Поддерживаемые типы изменений | Поддерживаемые типы разрешений |
|---|---|---|---|
| Все события (на уровне клиента) | solutions/virtualEvents/events |
создано | Приложение |
| Все события (на уровне клиента по идентификаторам организатора или соорганизатора) | solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']) |
создано | Приложение |
| События определенного вебинара | solutions/virtualEvents/webinars/{webinarId} |
Обновлено | Делегированное приложение |
| События подготовки отчета о посещаемости для вебинара | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
создано | Делегированное приложение |
| События сеанса **вебинара ** | solutions/virtualEvents/webinars/{webinarId}/sessions |
создано, обновлено | Делегированное приложение |
| События регистрации вебинара | solutions/virtualEvents/webinars/{webinarId}/registrations |
создано, обновлено | Делегированное приложение |
| События конкретного ратуши | solutions/virtualEvents/townhalls/{townhallId} |
Обновлено | Делегированное приложение |
| Отчет о посещаемости готовых событий для таунхолл | solutions/virtualEvents/townhalls/{townhallId}/getAttendanceReports |
создано | Делегированное приложение |
| События сеанса конкретного ратхолля | solutions/virtualEvents/townhalls/{townhallId}/sessions |
создано, обновлено | Делегированное приложение |
| Готовая публикация видео по запросу | solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication |
Обновлено | Делегированное приложение |
Подписка на все события, созданные в клиенте
Подписки для всех событий уникального приложения и клиента можно указать в полезных данных подписки с помощью следующего синтаксиса: solutions/virtualEvents/events. Подписка указывает URL-адрес уведомления для получения всех уведомлений, созданных событиями в клиенте для виртуальных событий. Для этой подписки поддерживаются только уведомления, созданные событиями. Клиент может иметь только один тип подписки для каждого приложения. Делегированные пользователем разрешения на виртуальные события ограничены в создании подписки этого типа.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на все события, созданные в клиенте с соответствующими организаторами
Вы можете подписаться на все события, включающие участников набора организаторов или соорганизаторов, с помощью следующего ресурса: solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']). Эти подписки получают все созданные уведомления для всех виртуальных событий для набора идентификаторов организатора или соорганизатора. Эта подписка считается подпиской на все события, созданные в клиенте. Делегированные пользователем разрешения на виртуальные события ограничены в создании подписки этого типа.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на обновленные события определенного вебинара
Чтобы получать обновленные уведомления для определенного вебинара, необходимо создать подписку на этот уникальный вебинар с помощью следующего ресурса: solutions/virtualEvents/webinars/{webinarId}.
Приложение может иметь только одну подписку на вебинар внутри клиента. Маркер, делегированный пользователем, позволяет настроить одну подписку для получения уведомлений об обновлении вебинара в клиенте. Эта подписка доступна только для пользователей, которые организовали или совместно организовали вебинары в том же клиенте, что и узел событий.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на события отчета о посещаемости для всех сеансов в вебинаре
Чтобы получать уведомления, когда отчеты о посещаемости становятся доступными для сеансов в вебинаре виртуальных событий, необходимо создать подписку со следующим ресурсом: solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports.
Приложение может иметь только одну подписку на отчеты о посещаемости вебинара внутри клиента. Маркер, делегированный пользователем, позволяет настроить одну подписку для получения уведомлений об обновлении вебинара в клиенте. Эта подписка доступна только для пользователей, которые организовали или совместно организовали вебинары в том же клиенте, что и узел событий.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на уведомления о событиях сеанса для вебинара
Чтобы подписаться на уведомления для сеансов, созданных или обновленных на вебинаре, укажите ресурс как solutions/virtualEvents/webinars/{webinarId}/sessions.
Приложение может иметь только одну подписку на уровне сеанса для каждого вебинара в клиенте. Маркер, делегированный пользователем, позволяет настроить одну подписку для получения уведомлений об обновлении вебинара в клиенте. Эта подписка доступна только для пользователей, которые организовали или совместно организовали вебинары в том же клиенте, что и узел событий.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на публикацию видео по запросу для всех сеансов в вебинаре
Чтобы подписаться на уведомления о публикации сеанса по запросу, укажите ресурс как solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication.
Приложение может иметь подписку только на каждое виртуальное событие в клиенте для публикации видео по запросу. Маркер делегированного пользователя позволяет настроить одну подписку на каждое виртуальное событие в клиенте. Подписка доступна только для пользователей, которые являются организатором или перечислены в качестве соорганизатора в том же клиенте, что и узел событий.
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"expirationDateTime": "2025-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на события вызова собрания определенного сеанса
Сведения о том, как подписаться на события приглашения на собрание определенного сеанса, см. в статье Получение уведомлений об изменениях для обновлений вызовов собраний Microsoft Teams.
Подписка на события регистрации для вебинара
Чтобы подписаться на уведомления о событиях регистрации вебинара, укажите ресурс как solutions/virtualEvents/webinars/{webinarId}/registrations.
Приложение может иметь только одну подписку уровня регистрации для каждого вебинара внутри клиента. Маркер, делегированный пользователем, позволяет настроить одну подписку для получения уведомлений об обновлении вебинара в клиенте. Однако подписка доступна только для пользователей, которые организовали или совместно организовали вебинары в том же клиенте, что и узел событий.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Подписка на обновленные события конкретной ратуши
Чтобы получать обновленные уведомления для конкретной ратуши, необходимо создать подписку для этого уникального ратуши с помощью следующего ресурса: solutions/virtualEvents/townhalls/{townhall_id}.
Приложение может иметь только одну подписку на каждую ратушу внутри клиента. Маркер, делегированный пользователем, позволяет настроить одну подписку для получения уведомлений об обновлениях в клиенте. Эта подписка доступна только для пользователей, которые организовали или совместно организовали ратуши в том же клиенте, что и организатор мероприятия.
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://contonso.com",
"lifecycleNotificationUrl": "https://contonso.com",
"resource": "solutions/virtualevents/townhalls/{townhall_id},
"expirationDateTime": "2026-01-31T12:00:00.0000000Z",
"clientState": "virtualevent-townhall-subscription",
}
Получение уведомлений о событиях
Уведомления включают URL-адрес ресурса измененного ресурса. Вы можете отправить отдельный запрос на URL-адрес ресурса, чтобы получить сведения о созданном или обновленном ресурсе.
Типы уведомлений
В следующей таблице указаны поддерживаемые типы уведомлений и изменений для ресурса виртуальных событий.
| Тип уведомления | ИД ресурса | Типы изменений |
|---|---|---|
| Вебинар | solutions/virtualEvents/webinars/{webinarId} |
создано, обновлено |
| Session | solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId} |
создано, обновлено |
| Регистрация | solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId} |
создано, обновлено |
| Отчет о посещаемости собрания | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
создано |
| Таунхолл | solutions/virtualEvents/townhalls/{townhallId} |
создано, обновлено |
| Session | solutions/virtualEvents/townhalls/{townhallId}/sessions/{sessionId} |
создано, обновлено |
| Отчет о посещаемости собрания | solutions/virtualEvents/townhalls/{webinarId}/getAttendanceReports |
создано |
| Опубликовано видео сеанса по запросу | solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId} |
Обновлено |
Примеры уведомлений о событиях
В следующих примерах JSON показаны ответы для каждого поддерживаемого типа изменения события.
Событие создано
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/events/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Вебинар обновлен
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Примеры уведомлений сеанса
В следующих примерах JSON показаны ответы для каждого поддерживаемого типа изменения сеанса.
Сеанс создан
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Сеанс обновлен
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Опубликовано видео по запросу
События, создаваемые при публикации видео по запросу для виртуального сеанса событий. Приложение или пользователь могут использовать **resourceData.@odata.id** свойство для обнаружения доступных видео по запросу сеанса виртуальных событий.
При получении уведомления для сеансов вебинара виртуального события уведомление информирует приложение или пользователя только о публикации URL-адреса видео по запросу для вебинара виртуального события. URL-адрес видео по запросу для сеанса виртуального события может иметь значение NULL или использовать только организатор. Приложение или пользователь должны определить, какие уникальные URL-адреса видео по запросу следует предоставить разным участникам, так как один URL-адрес видео по запросу не подходит для всех пользователей.
Для виртуальных сеансов ратуши событий в объекте сеанса виртуального события доступен универсальный URL-адрес видео по запросу, который может использоваться всеми участниками.
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualeventsession",
"id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}"
}
}
]
}
Обновленные события собрания сеанса
Сведения о типах уведомлений, получаемых для обновления вызовов собраний, см. в разделе Типы уведомлений о событиях.
Примеры уведомлений о регистрации
В следующих примерах JSON показаны ответы для каждого поддерживаемого типа изменения регистрации.
Регистрация создана
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Регистрация обновлена
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Создан отчет о посещаемости
События, созданные отчетом о посещаемости, возвращают конечную точку объекта meetingAttendanceReport . Пользователи могут использовать эту конечную точку в **resourceData.@odata.id** свойство для запроса сведений в объекте meetingAttendanceReport .
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}/attendanceReports/{reportId}",
"@odata.type": "#microsoft.graph.meetingAttendanceReport",
"id": "{reportId}"
}
}
]
}
Ратуша создана
{
"value": [
{
"subscriptionId": "eb1226bf-be92-0a00-04c5-43d87ee913c6",
"clientState": "virtualevent-townhall-subscription",
"changeType": "created",
"resource": "solutions/virtualevents/townhalls/{townhallId}",
"subscriptionExpirationDateTime": "2026-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.type": "#microsoft.graph.virtualEventTownhall",
"@odata.id": "solutions/virtualevents/townhalls/{townhallId}",
"id": "solutions/virtualevents/townhalls/{townhallId}"
}
}
]
}