API Office 365 Graph не возвращает сообщения папки «Входящие», но получает отправленные и удаленные элементы - PullRequest
0 голосов
/ 30 августа 2018

Я не могу получить сообщения Входящие, которые возвращаются при запросе «я / сообщения» через клиент C # nuget, но я могу получать сообщения из других папок.

client.Me.Messages.Request().Filter("createdDateTime gt 2017-08-01T15:50:36.00Z").OrderBy("createdDateTime").Expand("attachments").GetAsync()

По некоторым причинам это возвращает только сообщения из папок «Отправленные», «Удаленные» и «Беседы». Но я ничего не получаю из папки «Входящие».

Что странно, так это то, что я могу запросить список папок и развернуть Сообщения для каждой папки, и для папки «Входящие» появляются сообщения.

IUserMailFoldersCollectionPage foldersPage = await client.Me.MailFolders.Request().Expand("messages").GetAsync();

Так почему же сообщения появляются в объекте папки для папки «Входящие», а не при запросе «я / сообщения»?

1 Ответ

0 голосов
/ 30 августа 2018

Согласно вашим описаниям, я полагаю, вы хотите получать сообщения в папке входящих сообщений с помощью API:

GET /users/{Garth-id | Garth-userPrincipalName}/messages.

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

Мы можем получить parentFolderId из ответа, а затем мы можем использовать parentFolderId для запроса этого API: GET /users/{Garth-id | Garth-userPrincipalName}/mailFolders/{id} для получения имени папки.

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

1.Мы можем увеличить размер страницы, чтобы получать больше сообщений, и следуйте приведенному ниже коду:

var collectionMessagePage = await _serviceClient.Me.Messages.Request().Top(20).GetAsync();
  1. Мы можем получить идентификатор папки в ответе и использовать Folder ID для сравнения с идентификатором входящей почты.
...