Microsoft Graph API Group Дельта-запрос никогда не возвращает дельта-запрос (бесконечный цикл с nextLink) - PullRequest
0 голосов
/ 27 марта 2019

Работая с Microsoft Graph Explorer, я заметил, что когда вы отправляете запрос различий групп, например https://graph.microsoft.com/beta/groups/delta,, вы получите ответ с доступным @ odata.nextLink. Однако когда я перехожу по предоставленной ссылке, я начинаю получать точно такой же набор групп, что и в предыдущем ответе, с другим @ odata.nextLink, ведущим к бесконечной рекурсии, если я продолжаю следовать по ссылкам. Ожидаемое поведение - получить @ odata.deltaLink в какой-то момент, но он никогда не попадет в полученные ответы. В моей среде Azure 63 группы.

Попытка исключения членов из запроса, но отправка https://graph.microsoft.com/v1.0/groups/delta?$select=displayName. В этом случае я получаю @ odata.deltaLink на второй странице после однократного следования @ odada.nextLink.

Ответы [ 2 ]

1 голос
/ 11 июня 2019

хорошо, я понял, как решить проблему. Когда Delta change возвращает группы, в которых более 1000 участников, возвращается тот же набор данных, но с добавлением остальных членов. Кажется, что это бесконечный цикл, но на самом деле он привлекает остальных участников. Затем, если вы выполняете запрос с помощью select без расширения членов, тогда вы избегаете бесконечного цикла.

https://docs.microsoft.com/en-us/graph/delta-query-groups#paging-through-members-in-a-large-group

0 голосов
/ 11 июня 2019

Стек - правильное место, чтобы задавать подобные вопросы.Наши проблемы с github заключаются в том, чтобы поднимать проблемы с контентом, а не спрашивать, как использовать сам API.

Существует специальный документ, который показывает вам, как получить изменения в API групп здесь, в нашей документации https://docs.microsoft.com/en-us/graph/delta-query-groups

Когда вы позвоните, вы получите первые результаты обратно.

GET https://graph.microsoft.com/v1.0/groups/delta?$select=displayName,description&$expand=members

Затем, вместо того, чтобы сделать точно такой же вызов в следующий раз, вы бы вызвали @ odata.nextLink, который был возвращен в ответе назапрос выше, который включает в себя маркер пропуска.

GET https://graph.microsoft.com/v1.0/groups/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjvB7XnF_yllFsCrZJ

третий вызов, вы будете вызывать @ odata.nextLink из второго ответа.@ Odata.nextLink должен отличаться между этими запросами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...