【发布时间】: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。
有人可以帮忙吗?
【问题讨论】:
-
ContentId是Microsoft.OutlookServices.FileAttachment的一部分。检查以确保您指定了正确的类型。如果没有看到您的完整代码,我们无法判断。 -
Brian,我明白你的意思,它与错误消息相符。但是,我没有看到任何 REST 调用来查找 FileAttachments 而不是附件。我忽略了这一点吗?
-
使用 REST API,您可能只能查询 Attachment 对象中的公共基础项。