Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получение только что созданных, обновленных или удаленных субъектов-служб без необходимости полного считывания всей коллекции ресурсов. Дополнительные сведения см . в разделе Использование разностного запроса для отслеживания изменений в данных Microsoft Graph .
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | Directory.Read.All | Application.Read.All, Application.ReadWrite.All, Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
| Приложение | Application.ReadWrite.OwnedBy | Application.Read.All, Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
Важно!
Для делегированного доступа с использованием рабочих или учебных учетных записей, в которых пользователь, выполнив вход, работает с другим пользователем, ему должна быть назначена поддерживаемая Microsoft Entra роль или настраиваемая роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
- Неадминистратор или гостевой пользователь с разрешениями пользователя по умолчанию
- Разработчик приложений — чтение свойств субъектов-служб, владеемых им
- Средства чтения каталогов — чтение стандартных свойств
- Глобальный читатель
- Запись каталогов
- Администратор гибридных удостоверений
- Администратор безопасности
- Администратор облачных приложений
- Администратор приложений
HTTP-запрос
Чтобы начать отслеживание изменений, необходимо выполнить запрос, включив функцию delta в ресурс servicePrincipal.
GET /servicePrincipals/delta
Параметры запроса
При отслеживании изменений выполняется цикл из одного или нескольких вызовов разностных функций. Если вы используете параметры запроса, отличные от $deltatoken и $skiptoken, их необходимо указать в начальном запросе delta. Microsoft Graph автоматически кодирует указанные параметры в маркере, входящем в состав URL-адреса @odata.nextLink или @odata.deltaLink, включенного в отклик.
Параметры запроса нужно указать только один раз в первом запросе.
Копируйте и применяйте URL-адрес @odata.nextLink или @odata.deltaLink из предыдущего ответа в последующих запросах, так как в нем уже содержаться закодированные параметры.
| Параметр запроса | Тип | Описание |
|---|---|---|
| $deltatoken | string |
Маркер состояния, возвращенный в @odata.deltaLink URL-адресе предыдущего вызова разностной функции для той же коллекции ресурсов, что указывает на завершение этого цикла отслеживания изменений. Сохраните URL-адрес @odata.deltaLink с этим токеном и примените его в первом запросе следующего цикла отслеживания изменений для этой коллекции. |
| $skiptoken | string |
Маркер состояния, возвращенный в @odata.nextLink URL-адресе предыдущего вызова разностной функции, указывающий, что в той же коллекции ресурсов необходимо отслеживать дальнейшие изменения. |
Необязательные параметры запросов
Этот метод поддерживает параметры запросов OData для настройки ответа.
Вы можете использовать параметр запроса
$selectтак же, как в любом другом запросе GET, чтобы задать только те свойства, которые необходимы для эффективной работы. Свойство id возвращается всегда.Существует ограниченная поддержка :
$filter- Единственное поддерживаемое
$filterвыражение — отслеживание изменений для конкретных ресурсов по их идентификатору:$filter=id+eq+{value}или$filter=id+eq+{value1}+or+id+eq+{value2}. Число идентификаторов, которые можно указать, ограничено максимальной длиной URL-адреса.
- Единственное поддерживаемое
Заголовки запросов
| Имя | Описание |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Текст запроса
Не указывайте текст запроса для этого метода.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK и объект коллекции servicePrincipal в теле отклика. Ответ также содержит URL-адрес nextLink или URL-адрес deltaLink.
@odata.nextLinkЕсли возвращается URL-адрес, в сеансе будет извлечено больше страниц данных. Приложение продолжает выполнять запросы, используя@odata.nextLinkURL-адрес, пока URL-адрес не@odata.deltaLinkбудет включен в ответ.@odata.deltaLinkЕсли возвращается URL-адрес, больше нет данных о существующем состоянии возвращаемого ресурса. Сохраните@odata.deltaLinkи используйте URL-адрес, чтобы узнать об изменениях в ресурсе в будущем.
См. следующие статьи:
-
Дополнительные сведения об использовании разностного запроса
-
Получение добавочных изменений для пользователей для примера запроса.
Пример
Запрос
GET https://graph.microsoft.com/v1.0/servicePrincipals/delta
Отклик
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#servicePrincipals",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/servicePrincipals/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"accountEnabled": true,
"addIns": [
{
"id": "id-value",
"type": "type-value",
"properties": [
{
"key": "key-value",
"value": "value-value"
}
]
}
],
"appDisplayName": "appDisplayName-value",
"appId": "appId-value",
"appOwnerOrganizationId": "appOwnerOrganizationId-value",
"appRoleAssignmentRequired": true
}
]
}