2016-04-26 41 views
1

我使用的是Outlook郵件REST API來獲取用戶的電子郵件的集合的JSON對象,並在自定義Web界面顯示的數據。我需要顯示的電子郵件列表,列表中的每個電子郵件附件需要針對特定​​電子郵件數量的指標。展望API獲取消息不返回附件集合

我使用從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