Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Представляет подписку, которая позволяет клиентскому приложению получать уведомления об изменениях данных в Microsoft Graph.
Дополнительные сведения о подписках и уведомлениях об изменениях, в том числе о ресурсах, поддерживающих уведомления об изменениях, см. в разделе Настройка уведомлений об изменениях в данных ресурсов.
Методы
| Метод | Возвращаемый тип | Описание |
|---|---|---|
| Список | subscription | Перечисление активных подписок. |
| Создание | subscription | Создает подписку для приложения прослушивателя, позволяющую получать уведомления об изменениях данных в Microsoft Graph. Когда сценарий susbcription создан и успешно оценен, Microsoft Graph отправляет приложению по крайней мере один объект changeNotificationCollection каждый раз, когда в ресурсе, на который имеется подписка, происходит изменение. |
| Получение | subscription | Чтение свойств и связей объекта subscription. |
| Обновление | subscription | Обновляет время окончания срока действия подписки для продления и/или обновляет URL-адрес уведомления для доставки. |
| Delete | Нет | Удаление объекта subscription. |
| Повторная авторизация | Нет | Повторная авторизация подписки при получении запроса ReauthorizationRequired . |
| Получить VAPID | String | Получите открытый ключ VAPID для создания подписки в соответствии с RFC 8292. |
Свойства
| Свойство | Тип | Описание |
|---|---|---|
| applicationId | String | Необязательный параметр. Идентификатор приложения, использованного для создания подписки. Только для чтения. |
| changeType | Строка | Обязательный. Указывает тип изменения в ресурсе, на который вы подписаны, которое вызывает уведомление об изменении. Поддерживаемые значения: created, updated, deleted. Вы можете объединить несколько значений, указав их в списке с разделителями-запятыми. Примечание. updated. updated и deleted. Используется updated для получения уведомлений при создании, обновлении или обратимом удалении пользователя или группы. Используется deleted для получения уведомлений, когда пользователь или группа окончательно удаляются. |
| clientState | String | Необязательно. Указывает значение свойства clientState, отправляемого службой в каждом уведомлении об изменении. Максимальная длина — 128 символов. Клиент может проверить, пришло ли уведомление об изменении от службы, сравнив значение свойства clientState, отправленного с подпиской, со значением свойства clientState, получаемого с каждым уведомлением об изменении. |
| creatorId | String | Необязательный параметр. Идентификатор пользователя или субъекта-службы, которые создали подписку. Если приложение использовало делегированные разрешения для создания подписки, это поле содержит идентификатор вошедшего в систему пользователя, от имени которого приложение призвало его. Если приложение использовало разрешения приложения, это поле содержит идентификатор субъекта-службы, соответствующего приложению. Только для чтения. |
| encryptionCertificate | Строка | Необязательный параметр. Представление в кодировке Base64 сертификата с открытым ключом, используемое для шифрования данных ресурса в уведомлениях об изменениях. Необязательный, но необходимый при includeResourceData равном true. |
| encryptionCertificateId | String | Необязательный параметр. Предоставляемый приложением настраиваемый идентификатор, помогающий определить сертификат, необходимый для расшифровки данных ресурса. |
| expirationDateTime | DateTimeOffset | Обязательное. Указывает дату и время истечения срока действия подписки на веб-перехватчик. Используется время в формате UTC, и оно может представлять собой время с момента создания подписки, которое зависит от ресурса, на который оформлена подписка. Для любого значения, оставшегося менее 45 минут после времени запроса, автоматически устанавливается значение 45 минут после времени запроса. Максимальный поддерживаемый срок подписки см. в разделе "Срок действия подписки". |
| id | String | Необязательный параметр. Уникальный идентификатор для подписки. Только для чтения. |
| includeResourceData | Boolean | Необязательное свойство. Если присвоено значение true, уведомления об изменениях включают данные ресурса (например, содержимое сообщения чата). |
| latestSupportedTlsVersion | Строка | Необязательный параметр. Указывает последнюю версию протокола TLS, поддерживаемую конечной точкой уведомлений, указанной с помощью свойства notificationUrl. Допустимые значения: v1_0, v1_1, v1_2, v1_3.
Для подписчиков, конечная точка уведомления которых поддерживает версию ниже, чем рекомендуемая в настоящее время (TLS 1.2), указание этого свойства на заданной временной шкале позволяет им временно использовать устаревшую версию TLS до завершения обновления до TLS 1.2. Если такие подписчики не настроят это свойство согласно соответствующим срокам, действия с подпиской будут завершаться сбоем. Для подписчиков, конечная точка уведомлений которых уже поддерживает TLS 1.2, настройка этого свойства является необязательной. В таких случаях Microsoft Graph по умолчанию присваивает свойству значение v1_2. |
| lifecycleNotificationUrl | String | Требуется для ресурсов Teams, expirationDateTime если значение будет более чем через 1 час; в противном случае необязательно. URL-адрес конечной точки, которая получает уведомления о жизненном цикле, включая subscriptionRemoved, reauthorizationRequiredи missed уведомления. Этот URL-адрес должен использовать протокол HTTPS. Дополнительные сведения см. в статье "Сокращение количества отсутствующих подписок и уведомлений об изменениях". |
| notificationQueryOptions | Строка | Необязательный параметр. Параметры запросов OData для указания значения целевого ресурса. Клиенты получают уведомления, когда ресурс переходит в состояние, соответствующее указанным здесь параметрам запроса. Благодаря этому новому свойству в полезной нагрузке создания подписки наряду со всеми существующими свойствами веб-перехватчики доставляют уведомления всякий раз, когда ресурс достигает желаемого состояния, упомянутого в свойстве notificationQueryOptions. Например, по окончании печати или когда свойство ресурса печати isFetchable приобретает значение true и т.п. Поддерживается только для службы универсальной печати. Дополнительные сведения см. в статье "Подписка на уведомления об изменениях от API облачной печати с помощью Microsoft Graph". |
| notificationUrl | Строка | Обязательный. URL-адрес конечной точки, которая получает уведомления об изменениях. Этот URL-адрес должен использовать протокол HTTPS. Любой параметр строки запроса, включенный в свойство notificationUrl, включается в запрос HTTP POST, когда Microsoft Graph отправляет уведомления об изменениях. |
| notificationUrlAppId | String | Необязательный параметр. Идентификатор приложения, который служба подписки может использовать для создания маркера проверки. Это значение позволяет клиенту проверить подлинность полученного уведомления. |
| resource | Строка | Обязательный. Указывает ресурс, изменения в котором отслеживаются. Не указывайте базовый URL-адрес (https://graph.microsoft.com/v1.0/). См. возможные значения пути к ресурсу для всех поддерживаемых ресурсов. |
| vapidPublicKey | String | Необязательный параметр. Открытый ключ VAPID сервера приложений, кодированный base64url (несжатая точка P-256, предварительное кодирование 65 байт). Получается путем вызова функции getVapidPublicKey коллекции подписок. Браузер передает это значение, чтобы PushManager.subscribe({ applicationServerKey: vapidPublicKey }) привязать push-подписку к этому удостоверению сервера. Требуется, если notificationUrl нацелен на известный источник службы Web Push (например, *.push.apple.com, fcm.googleapis.com, updates.push.services.mozilla.com); отклоняется 400 Bad Request , если указан в стандартной подписке веб-перехватчика. Дополнительные сведения см. в RFC 8292. |
| webPushEncryptionP256dhPublicKey | String | Необязательный параметр. Открытый ключ ECDH абонента, кодированный base64url (несжатая точка P-256, предварительное кодирование 65 байт). Получено из браузера с помощью PushSubscription.getKey('p256dh'). Используется в качестве открытого ключа однорангового узла при согласовании ключа ECDH для получения ключа шифрования содержимого каждого сообщения для шифрования полезных данных RFC 8291. Необходимо, если notificationUrl нацелен на известный источник службы Web Push; Отклонено, 400 Bad Request если оно предоставляется в стандартной подписке веб-перехватчика. Дополнительные сведения см. в RFC 8291, раздел 3. |
| webPushEncryptionSecret | String | Необязательный параметр. Секрет проверки подлинности подписчика, кодированный base64url (предварительная кодировка 16 байт). Получено из браузера с помощью PushSubscription.getKey('auth'). Используется в качестве соли HMAC-SHA-256 для шага объединения HKDF, который получает материал ключа для шифрования полезных данных RFC 8291. Только запись: это значение никогда не возвращается в ответах GET (возвращается в виде null). Относитесь как к секрету. Необходимо, если notificationUrl нацелен на известный источник службы Web Push; Отклонено, 400 Bad Request если оно предоставляется в стандартной подписке веб-перехватчика. Дополнительные сведения см. в RFC 8291, раздел 3. |
Время существования подписки
Время существования подписок ограничено. Приложениям необходимо продлить подписку до истечения срока действия; В противном случае ему потребуется создать новую подписку. Кроме того, приложение в любое время может отменить подписку, чтобы больше не получать уведомления об изменениях.
Кроме того, для любого запроса, для которого срок действия DateTime установлен менее чем на 45 минут после времени запроса, автоматически устанавливается на 45 минут после времени запроса.
В следующей таблице показано максимальное время окончания срока действия подписок на ресурс в Microsoft Graph.
| Ресурс | Максимальный срок действия |
|---|---|
| Copilot aiInteraction | 4 320 минут (три дня) |
| Оповещение безопасности | 43 200 минут (менее 30 дней) |
| Утверждения Teams | 43 200 минут (менее 30 дней) |
| callRecord в Teams | 4 230 минут (менее трех дней) |
| Запись звонка Teams | 4 320 минут (три дня) |
| Вызов TeamsРасшифровка | 4 320 минут (три дня) |
| Канал Teams | 4 320 минут (три дня) |
| Чат Teams | 4 320 минут (три дня) |
| chatMessage Teams | 4 320 минут (три дня) |
| conversationMember в Teams | 4 320 минут (три дня) |
| onlineMeeting в Teams | 4 320 минут (три дня) |
| Команда Teams | 4 320 минут (три дня) |
| TeamsAppInstallation | 4 320 минут (3 дня) |
| Приложение "Смены " в Teams offerShiftRequest | 360 минут (6 часов) |
| Приложение "Смены" в Teams openShiftChangeRequest | 360 минут (6 часов) |
| Смена в Teams | 360 минут (6 часов) |
| Смены Teams swapShiftsChangeRequest | 360 минут (6 часов) |
| Смены Teams timeOffRequest | 360 минут (6 часов) |
| Групповая беседа | 4 230 минут (менее трех дней) |
| driveItem OneDrive | 42 300 минут (менее 30 дней) |
| Список SharePoint | 42 300 минут (менее 30 дней) |
| Сообщение, событие, контакт Outlook | 10 080 минут (менее семи дней) Для подписок с данными о ресурсах (подписки на расширенные уведомления) срок действия подписки составляет 1440 минут (до одного дня). |
| Пользователь, группа, другие ресурсы каталога | 41 760 минут (менее 29 дней) |
| onlineMeeting | 4 230 минут (менее трех дней) |
| presence | 60 минут (1 час) |
| printer печати | 4 230 минут (менее трех дней) |
| printTaskDefinition печати | 4 230 минут (менее трех дней) |
| todoTask | 4 230 минут (менее трех дней) Веб-перехватчики для этого ресурса доступны только в глобальной конечной точке, но не в национальных облаках. |
| Оповещение мониторинга работоспособности Microsoft Entra | 42 300 минут (менее 30 дней) |
| baseTask (не рекомендуется) | 4 230 минут (менее трех дней) |
Примечание. Для существующих приложений и новых приложений не должно превышаться допустимое значение. В будущем любые запросы на создание или продление подписки со значением, превышающим максимальное, будут завершаться ошибкой.
Задержка
В следующей таблице указаны ожидаемые задержки между возникновением события в службе и доставкой уведомления об изменении.
| Ресурс | Средняя задержка | Максимальная задержка |
|---|---|---|
| aiInteraction | Менее 10 секунд | 60 минут |
| Оповещение1 | Менее 3 минут | 5 минут |
| Утверждения | Менее 10 секунд | 40 секунд |
| calendar | Менее 1 минуты | 3 минуты |
| callRecord2 | Менее 30 минут | 150 минут |
| callRecording | Менее 10 секунд | 60 минут |
| callTranscript | Менее 10 секунд | 60 минут |
| channel | Менее 10 секунд | 60 минут |
| chat | Менее 10 секунд | 60 минут |
| chatMessage | Менее 10 секунд | 1 минута |
| contact | Менее 1 минуты | 3 минуты |
| conversation | Неизвестно | Неизвестно |
| conversationMember | Менее 10 секунд | 60 минут |
| driveItem | Менее 1 минуты | 6 часов |
| event | Неизвестно | Неизвестно |
| group | Неизвестно | Неизвестно |
| оповещение мониторинга работоспособности | Неизвестно | Неизвестно |
| list | Менее 1 минуты | 6 часов |
| message | Менее 1 минуты | 3 минуты |
| offerShiftRequest | Менее 1 минуты | 60 минут |
| onlineMeeting | Менее 10 секунд | 1 минута |
| openShiftChangeRequest | Менее 1 минуты | 60 минут |
| presence | Менее 10 секунд | 1 минута |
| printer | Менее 1 минуты | 5 минут |
| printTaskDefinition | Менее 1 минуты | 5 минут |
| shift | Менее 1 минуты | 60 минут |
| swapShiftsChangeRequest | Менее 1 минуты | 60 минут |
| team | Менее 10 секунд | 60 минут |
| teamsAppInstallation | Менее 10 секунд | 60 минут |
| timeOffRequest | Менее 1 минуты | 60 минут |
| todoTask | Менее 2 минут | 15 минут |
| user | Неизвестно | Неизвестно |
1 Задержка, предусмотренная для ресурса оповещения , применима только после создания оповещения. Сюда не входит время, необходимое правилу для создания оповещения на основе данных. 2 Задержка, предусмотренная для ресурса callRecord , применима только к первой версии записи звонка. Последующие версии записи звонка могут обновляться сверх заявленных задержек.
Связи
Отсутствуют.
Представление JSON
В следующем представлении JSON показан тип ресурса.
{
"@odata.type": "#microsoft.graph.subscription",
"applicationId": "String",
"changeType": "String",
"clientState": "String",
"creatorId": "String",
"encryptionCertificate": "String",
"encryptionCertificateId": "String",
"expirationDateTime": "String (timestamp)",
"id": "String (identifier)",
"includeResourceData": "Boolean",
"latestSupportedTlsVersion": "String",
"lifecycleNotificationUrl": "String",
"notificationQueryOptions": "String",
"notificationUrl": "String",
"notificationUrlAppId": "String",
"resource": "String",
"vapidPublicKey": "String",
"webPushEncryptionP256dhPublicKey": "String",
"webPushEncryptionSecret": "String"
}