Пользователи $ Skip и $ Count - PullRequest
0 голосов
/ 10 июля 2019

API-интерфейс Microsoft Graph не поддерживает $ skip и $ count при совершении вызовов в коллекцию пользователей.

Хотя я понимаю, что skipToken предоставляет вам некоторые возможности разбиения на страницы, он ограничивает возможности разбиения на страницы для пользователейстраницы в моем приложении.

Используемый арендатор AD имеет более 6000 пользователей, и их загрузка занимает много времени.

Я собираюсь кэшировать их на сервере и проверять обновленияпериодически, но я хотел проверить, чтобы убедиться, что я что-то не пропустил.

Есть ли способ использовать $ count и $ skip или эквивалент, которого я не знаю?

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Microsoft Graph Api не поддерживает $ skip и $ count для когда звонки в коллекцию пользователей.

это верно, вот выдержка из официальной документации :

$count не поддерживается для коллекций ресурсов, производных из directoryObject, как коллекции пользователей или групп.

И то же самое относится к $skip параметру , он не поддерживается для Список пользователей конечной точки .

Для сценариев подкачки * вместо параметра $top необходимо использовать параметр $skipToken.

Пример * +1031 *

Предполагая, что размер страницы составляет 100 элементов, следующий запрос извлекает пользователей для первой страницы:

GET https://graph.microsoft.com/v1.0/users?$top=100

Если результат содержит более 100 пользователей, Microsoft Graph вернет свойство @odata:nextLink. Результаты следующей страницы можно получить, отправив значение URL свойства @odata:nextLink:

GET https://graph.microsoft.com/v1.0/users?$top=100&$skiptoken={skipToken}
0 голосов
/ 10 июля 2019

В этом случае вы можете использовать Optional Query Parameters, он поддерживает $count и $top

Как вы знаете, $ skipне поддерживается, поэтому вы можете применить следующий способ:

 https://graph.microsoft.com/v1.0/users?$orderby=userPrincipalName desc&$select=id,mail,userType,userPrincipalName,preferredDataLocation&$top=5&$count=true

Примечание: Поэтому, если после этого вы фильтруете этот список в порядке убывания, пока вы выбираете верхние значения, он может работать как пропуск.Это может быть ваша работа вокруг.

Пример запроса:

В качестве примера запроса вы можете использовать следующий URL:

Вверх:

 Method Type: GET
 https://graph.microsoft.com/v1.0/users?$top=2

Количество:

Method Type: GET
https://graph.microsoft.com/v1.0/users?$count=true

Для получения более подробной информации вы можете посмотреть официальные документы здесь

...