【问题标题】:Unable to retrieve 'ContentId' property of Attachment in Office365 REST Api无法在 Office365 REST Api 中检索附件的“ContentId”属性
【发布时间】:2018-12-05 03:15:45
【问题描述】:

我正在尝试在 Office365 rest api 中检索附件。由于我想避免下载整个附件,因此我使用了一个 select 子句来避免下载 ContentBytes 属性中的内容:

    $select="ContentId,ContentType,Id,IsInline,Name,Size"

所以基本上,我想检索除内容之外的所有内容。但是,这会给出以下错误消息(json):

    { 
       "error": 
          {
           "code": "RequestBroker-ParseUri",
           "message": "Could not find a property named 'ContentId' on type 'Microsoft.OutlookServices.Attachment'."
          }
    }

它告诉我 ContentId 不存在,这与 specifications 矛盾。

编辑:这是完整的请求:

    GET /api/v2.0/me/messages/AAMkAGZlZjI3N2I3LTg1YWUtNDFiNC05MGI0LTVjYTVmZGI5NGI2YQBGAAAAAABzr8uDji9LRqgTCEsDv22wBwBWTXbvZW0dTKuxUGxpK4-lAAAAAAEMAABWTXbvZW0dTKuxUGxpK4-lAAC5QnKBAAA=/attachments?%24select=ContentId%2CContentType%2CId%2CIsInline%2CName%2CSize 

更奇怪的是,当我在不指定任何选择子句的情况下执行相同的查询时,它会返回一个完整的附件对象,包括一个 ContentId。

有人可以帮忙吗?

【问题讨论】:

  • ContentIdMicrosoft.OutlookServices.FileAttachment 的一部分。检查以确保您指定了正确的类型。如果没有看到您的完整代码,我们无法判断。
  • Brian,我明白你的意思,它与错误消息相符。但是,我没有看到任何 REST 调用来查找 FileAttachments 而不是附件。我忽略了这一点吗?
  • 使用 REST API,您可能只能查询 Attachment 对象中的公共基础项。

标签: rest office365-restapi


【解决方案1】:

如果有人对 microsoft graph 有同样的问题,你需要通过这个过滤器:

$select=microsoft.graph.fileAttachment/contentId

像这样:

GET https://graph.microsoft.com/v1.0/me/messages/attachments?$select=microsoft.graph.fileAttachment/contentId

【讨论】:

    【解决方案2】:

    您发布的请求是获取消息规范而不是附件。由于您需要获取内容 ID,因此您需要使用任何必需的参数将 /attachments 添加到请求中。

    获取https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}

    因此,请将附件添加到您的查询中,以便能够获取内容 ID。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      解决了。 Brian 的评论提出了答案,我发现了一个额外的提示here。 由于 'ContentId' 是 FileAttachment 的一个属性,因此您需要在请求中指定它,如下所示:

          $select="Microsoft.OutlookServices.FileAttachment/ContentId,ContentType,Id,IsInline,Name,Size"
      

      成功了。感谢您的建议。

      【讨论】:

        猜你喜欢
        • 2015-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多