Outlook API获取消息不返回附件集合

我正在使用Outlook Mail REST API来获取用户电子邮件集合的JSON对象,并将数据显示在自定义Web界面中。 我需要显示一个电子邮件列表,列表中的每封电子邮件都需要一个指示该电子邮件的附件数量。

我正在使用从Outlook Mail REST API reference #Getmessages获取邮件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来获取电子邮件collections:

 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 }; ... 

收集中返回的电子邮件对象

$select每个选项在包含或排除它时Attachments正常工作,但Attachments始终缺失。 有没有人有办法解决吗?

Attachments是一个导航属性,所以你需要通过附加一个$expand参数来请求它被“扩展”:

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