Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Получение вновь созданных, обновленных или удаленных контактов организации без необходимости полного считывания всей коллекции. Дополнительные сведения см . в разделе Использование разностного запроса для отслеживания изменений в данных Microsoft Graph .
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | OrgContact.Read.All | Directory.Read.All, Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
| Приложение | OrgContact.Read.All | Directory.Read.All, Directory.ReadWrite.All |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие роли с наименьшими привилегиями.
- Средства чтения каталогов — чтение основных свойств
- Глобальный читатель
- Запись каталогов
- Администратор Intune
- Администратор пользователей
HTTP-запрос
Чтобы начать отслеживание изменений, необходимо выполнить запрос, включающий функцию delta для ресурса contacts.
GET /contacts/delta
Параметры запроса
При отслеживании изменений в контактах организации выполняется цикл из одного или нескольких вызовов разностных функций. Если вы используете параметры запроса, отличные от $deltatoken и $skiptoken, их необходимо указать в начальном запросе delta. Microsoft Graph автоматически кодирует указанные параметры в маркере, входящем в состав URL-адреса @odata.nextLink или @odata.deltaLink, включенного в отклик.
Все параметры запроса необходимо указать только один раз.
В последующих запросах скопируйте и примените @odata.nextLink URL-адрес или @odata.deltaLink из предыдущего ответа. Этот URL-адрес уже включает закодированные параметры.
| Параметр запроса | Тип | Описание |
|---|---|---|
| $deltatoken | string |
Маркер состояния, возвращенный в @odata.deltaLink URL-адресе предыдущего вызова функции delta для той же коллекции контактов организации, что указывает на завершение этого раунда отслеживания изменений. Сохраните и примените весь @odata.deltaLink URL-адрес, включая этот маркер, в первом запросе следующего раунда отслеживания изменений для этой коллекции. |
| $skiptoken | string |
Маркер состояния, возвращенный в @odata.nextLink URL-адресе предыдущего вызова разностной функции, указывающий на то, что в той же коллекции контактов организации необходимо отслеживать дальнейшие изменения. |
Параметры запросов OData
Этот метод поддерживает необязательные параметры запроса OData для настройки ответа.
- Вы можете использовать параметр запроса
$selectтак же, как в любом другом запросе GET, чтобы задать только те свойства, которые необходимы для эффективной работы. Свойство id возвращается всегда. - Существует ограниченная поддержка :
$filter- Единственное поддерживаемое выражение
$filterпредназначено для отслеживания изменений в определенном объекте:$filter=id+eq+{value}. Допускается фильтрация нескольких объектов. Например,https://graph.microsoft.com/v1.0/contacts/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff'. Существует ограничение в 50 отфильтрованных объектов.
- Единственное поддерживаемое выражение
Заголовки запросов
| Имя | Описание |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
| Prefer | return=minimal Указание этого заголовка с запросом, использующим параметр @odata.deltaLink, приведет к возвращению только свойств объекта, измененных с момента последнего цикла. Необязательно. |
Текст запроса
Не указывайте текст запроса для этого метода.
Отклик
В случае успешного 200 OK выполнения этот метод возвращает код отклика и объект коллекции orgContact в теле отклика. Оклик также содержит URL-адрес @odata.nextLink или @odata.deltaLink.
Если возвращается URL-адрес
@odata.nextLink:- Это означает, что в сеансе есть дополнительные страницы данных. Приложение продолжает отправлять запросы, используя URL-адрес
@odata.nextLink, пока в отклик не будет включен URL-адрес@odata.deltaLink. - Отклик включает тот же набор свойств, что и начальный разностный запрос. Это позволяет фиксировать полное текущее состояние объектов при запуске разностного цикла.
- Это означает, что в сеансе есть дополнительные страницы данных. Приложение продолжает отправлять запросы, используя URL-адрес
Если возвращается URL-адрес
@odata.deltaLink:- Это означает, что больше нет данных о существующем состоянии возвращаемого ресурса. Сохраните и используйте URL-адрес
@odata.deltaLink, чтобы узнавать об изменениях ресурса в следующем цикле. - Вы можете указать заголовок
Prefer:return=minimal, чтобы включить в значения отклика только свойства, измененные с момента создания@odata.deltaLink.
- Это означает, что больше нет данных о существующем состоянии возвращаемого ресурса. Сохраните и используйте URL-адрес
По умолчанию: возвращение свойств, совпадающих с начальным разностным запросом
По умолчанию запросы с использованием @odata.deltaLink или @odata.nextLink возвращают те же свойства, которые выбраны в начальном разностном запросе, следующим образом:
- Если свойство изменилось, в отклике содержится новое значение. Сюда включаются свойства с заданным значением NULL.
- Если свойство не изменилось, старое значение включается в ответ.
- Если свойство никогда не было задано ранее, оно вообще не будет включено в ответ.
Заметка: При таком поведении невозможно определить, меняется ли свойство, глядя на ответ. Кроме того, разностные ответы, как правило, имеют большой размер, так как они содержат все значения свойств, как показано в примере 2.
Альтернатива: возвращение только измененных свойств
Добавление необязательного заголовка запроса prefer:return=minimal приводит к следующему результату:
- Если свойство изменилось, в отклике содержится новое значение. Сюда включаются свойства с заданным значением NULL.
- Если свойство не изменилось, оно вообще не включается в ответ. (Отличается от поведения по умолчанию.)
Примечание. Заголовок можно добавить в запрос
@odata.deltaLinkв любой момент разностного цикла. Заголовок влияет только на набор свойств, включенных в ответ, и не влияет на выполнение разностного запроса. См. пример 3.
Примеры
Пример 1. Свойства по умолчанию
Запрос
Ниже приведен пример запроса. Параметр отсутствует $select , поэтому набор свойств по умолчанию отслеживается и возвращается.
GET https://graph.microsoft.com/v1.0/contacts/delta
Отклик
Ниже приведен пример ответа при использовании @odata.deltaLink , полученного в результате инициализации запроса.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"companyName": "companyName-value",
"department": "department-value",
"displayName": "displayName-value",
"givenName": "givenName-value",
"id": "string (identifier)",
"jobTitle": "jobTitle-value",
"mail": "mail-value",
"mailNickname": "mailNickname-value",
"surname": "surname-value"
}
]
}
Пример 2. Выбор трех свойств
Запрос
В следующем примере показан исходный запрос с выбором трех свойств для отслеживания изменений с поведением отклика по умолчанию.
GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail
Отклик
Ниже приведен пример ответа при использовании @odata.deltaLink , полученного в результате инициализации запроса. Все три свойства включены в ответ, и неизвестно, какие из них были изменены с момента @odata.deltaLink получения.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "displayName-value",
"jobTitle": "jobTitle-value",
"mail": null
}
]
}
Пример 3. Альтернативное поведение минимального отклика
Запрос
В следующем примере показан исходный запрос с выбором трех свойств для отслеживания изменений с альтернативным поведением отклика с минимальными результатами.
GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail
Prefer: return=minimal
Отклик
Ниже приведен пример ответа при использовании @odata.deltaLink , полученного в результате инициализации запроса. Свойство mail не включается, что означает, что оно не изменилось с момента последнего разностного запроса; displayName и jobTitle включаются, что означает, что их значения изменились.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "displayName-value",
"jobTitle": null
}
]
}