Microsoft график, пакетная ссылка nextLink - PullRequest
0 голосов
/ 01 декабря 2018

В настоящее время я внедряю службу очереди синхронизации для синхронизации клиентов веб-приложения с контактами Outlook.

Я использую Graph API для работы.Создание и обновление контактов осуществляется с помощью пакетного запроса графа.

В документах есть часть ответа, которую я не до конца понимаю и в значительной степени игнорирую.Я просто хочу убедиться, что моя реализация верна.

Помимо свойства ответов, в ответе пакета может быть свойство nextLink.Это позволяет Microsoft Graph возвращать пакетный ответ, как только какой-либо отдельный запрос будет выполнен.Чтобы убедиться, что все индивидуальные ответы были получены, продолжайте следовать nextLink, пока он существует.

Мне было интересно узнать следующее:

  1. когдаnextLink появляется?Я пытался отправить разные запросы, но так и не получил его.Это не совсем понятно из документов, но я предполагаю, что это происходит, когда по какой-то причине некоторые запросы в пакете не были выполнены вовремя?

  2. Будут ли отложенные запросы отображаться какошибки в ответе или они просто отсутствуют в нем?

  3. Будет ли nextLink иметь форму @odata.nextLink, как в запросах на нумерацию страниц?Это не указывает, что в документах.

  4. Как мне обращаться с этим, когда / если он появляется?Могу ли я безопасно проигнорировать это и просто рассчитывать на следующий вызов службы (каждые 15 минут), чтобы повторить и синхронизировать ожидающие запросы?

1 Ответ

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

Механизм разбиения на страницы в основном применяется при запросе Graph для данных.

  1. NextLink отображается, если какой-либо запрос, выполненный вами в рамках одного из ваших пакетных запросов, требует разбиения на страницы (как если бы вы запустилизапрос напрямую).Например, этот запрос как часть вашего пакетного задания вызовет его появление при условии, что у целевого пользователя более 10 папок:

{ "id":"1", "method":"GET", "url":"users/user@domain.tld/mailFolders" }

Ответ отображается как обычно (с первой страницей данных, включенной в тело ответа, вместе со nextLink для перехода на следующую страницу). Правильно.В приведенном выше примере nextLink отображается следующим образом: "@odata.nextLink":"https://graph.microsoft.com/beta/users/user@domain.tld/mailFolders?$skip=10 Чтобы получить оставшиеся данные, вам нужно будет следовать nextLink.
...