2016-04-26 5 views
1

Я использую API REST Outlook Mail для получения объектов JSON коллекции электронных писем пользователя и отображения данных в пользовательском веб-интерфейсе. Мне нужно показать список писем, и каждому электронному письму в списке нужен индикатор NUMBER вложений для этого конкретного письма.Outlook API Get Messages not returns Вложение коллекции

Я использую Получить сообщения от Outlook Mail REST API reference #Getmessages маршрут, чтобы получить все данные, которые мне нужны для этого. Однако, когда я укажу в своем $select, что я хочу Attachments, я никогда не получаю коллекцию вложений для каждого письма; это просто отсутствует.

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

В соответствии с этим: (https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#RESTAPIResourcesMessage) Я могу указать, хочу ли я, чтобы сборка вложений получалась при получении сообщений, но она не работает. Я использую Node.js, чтобы получить коллекцию электронной почты:

var requestUrl = "https://outlook.office.com/api/v2.0/me/messages"; 

var queryParams = { 
    '$select': 'Subject, ReceivedDateTime, From, ToRecipients, HasAttachments, Attachments, WebLink, CcRecipients, Body', 
    '$orderby': 'ReceivedDateTime desc', 
    '$filter' : dateString, 
    '$top': 300 
}; 

... 

Returned Email Object in Collection

Каждый вариант в $select работает правильно, если я включить его или исключить его, но Attachments всегда отсутствует. у кого-нибудь есть решение?

ответ

1

Attachments Навигационное свойство, так что вы должны просить, чтобы он получает «расширить» путем добавления параметра $expand:

https://outlook.office.com/api/v2.0/me/mailfolders/inbox/messages? 
    $select=Subject,Attachments&$filter=HasAttachments eq true&$expand=Attachments 
+0

Спасибо так много, вот ссылка вам ответ в документации. [https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#UseODataqueryparameters](https://msdn.microsoft.com/office/office365/api/complex- типы-для-почта-контакты-календарь # UseODataqueryparameters) – Adam