Ответ MS Graph API не возвращает все элементы данных, которые он должен - PullRequest
0 голосов
/ 02 июня 2018

Мое намерение состоит в том, чтобы создать программу машинного обучения, которая даст рекомендацию для архивирования элемента электронной почты, прочитав всю предыдущую историю электронной почты.

Для этого я пытаюсь прочитать все элементы электронной почты с:

https://graph.microsoft.com/beta/me/messages

Сначала я получаю общее количество элементов электронной почты в моей учетной записи, используя /messages?$count=true, в результате чего возвращается 1881.

Затем я пытаюсь получить все 1881 элемент, используя:

https://graph.microsoft.com/beta/me/messages?$top=1881

Но проблема в том, что возвращается 976 элементов электронной почты.Где остальные элементы электронной почты?Как я могу их найти?

1 Ответ

0 голосов
/ 02 июня 2018

Получаете ли вы свойство @odata:nextLink в своем ответе?

В этом случае вам может потребоваться отправить еще один запрос с параметром skiptoken.Он должен содержать значение из свойства ответа @odata:nextLink.

На странице документации "подкачки" - https://developer.microsoft.com/en-us/graph/docs/concepts/paging - указано, что разные API имеют разный максимальный размер страницы.Возможно, что конечная точка для получения электронных писем не поддерживает размер страницы 1881. В этом случае вам может потребоваться доступ ко второй странице результатов.

Другое предложение заключается в замене конечной точки бета на вызов API V1, поскольку там также доступно me/messages - https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list_messages

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