如何从Office 365 REST API检索ItemAttachment内容?

时间:2015-09-23 21:07:36

标签: api rest email office365

更新:非常感谢Venkat回答以下问题!

get请求需要按如下格式进行格式化,以便检索.msg附件的内容:

https://outlook.office365.com/api/v1.0/me/messages/{messageid}/attachments/{AttachmentId}?$expand=Microsoft.OutlookServices.ItemAttachment/Item

(原始问题)

我最初在微软的Office开发中心问过这个问题。其中一位主持人要求我在这里提出这个问题。

我使用Office 365 Mail REST API取得了很大成功。但是,在尝试检索附加到其他电子邮件的电子邮件时(例如,.msg文件等项目附件),REST API无法提供。

当我为附有.msg文件的电子邮件发出这样的GET请求时,我得到所有附件属性,除了“Item”属性,该属性应包含附件(根据Office 365 Mail REST API资源指南:https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#RESTAPIResourcesItemAttachment

获取:https://outlook.office365.com/api/v1.0/me/messages/ {messageid} / attachments

响应:

{
  "@odata.context": "https://outlook.office365.com/api/v1.0/$metadata#Me/{messageid}/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office365.com/api/v1.0/Users('{useremailaddress}')/{messageid}/Attachments('{messageid}')",
      "Id": "{messageid}",
      "Name": "{subject}",
      "ContentType": "message/rfc822",
      "Size": 54425,
      "IsInline": false,
      "DateTimeLastModified": "{timestamp}"
    }
  ]
}

我做错了吗?

1 个答案:

答案 0 :(得分:4)

是的,我们的文档需要更清楚如何检索项目。请尝试https://outlook.office365.com/api/v1.0/me/messages/{messageid}/attachments/{AttachmentId}?$expand=Microsoft.OutlookServices.ItemAttachment/Item并告诉我这是否适合您。