Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: 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
}
]
}