#azure-web-app-service #microsoft-graph-api
#azure-web-app-service #microsoft-graph-api
Вопрос:
Я вызываю эту конечную точку: /users/{email-address}/mailFolders/Inbox/messages?$select=isRead,hasAttachments,subject,from,bodyPreview,receivedDateTimeamp;$top=25amp;search="{search-term}"amp;$count=true
в ответ возвращаются только @odata.context
, @odata.nextLink
, и value
.
При удалении $search
параметра из запроса @odata.count
также возвращается ответ.
Я использую @odata.count
для вычисления количества страниц результатов. Я бы предпочел не использовать skipToken
, а использовать только $top
и $skip
для разбивки результатов на страницы.
Кто-нибудь еще сталкивался с этим раньше / есть обходной путь?
Ответ №1:
Переместите комментарий в ответ на ссылку других пользователей.
Использование $search
и $count
вместе в настоящее время не возвращает значение @odata.count.
Поскольку $search
количество запросов ограничено 250 результатами, в ответе можно получить не более 250 элементов.
Поэтому в этом случае я предполагаю, что ваши данные меньше 250. Обходной путь заключается в том, чтобы использовать $top=250amp;$search="{search-term}"
в запросе все результаты, а затем получить количество результатов с помощью метода, предоставляемого пакетом (отличным от Microsoft SDK) в вашем коде.
Комментарии:
1. На данный момент этого достаточно… Чтобы избежать захвата всех данных для всех 250 сообщений, я использую пакетную обработку и отправку 25 запросов (используя 2 отдельных пакетных запроса), чтобы получать сообщения по отдельности по идентификатору, а затем собирать их вместе из ответа.