无法检索';ContentId';Office365 REST Api中附件的属性

无法检索';ContentId';Office365 REST Api中附件的属性,rest,office365-restapi,Rest,Office365 Restapi,我正在尝试检索Office365 rest api中的附件。因为我想避免下载整个附件,所以我使用select子句来避免下载内容,它位于ContentBytes属性中: $select="ContentId,ContentType,Id,IsInline,Name,Size" 所以基本上,我想检索除内容之外的所有内容。但是,这会产生以下错误消息(json): 它告诉我ContentId不存在,这与 编辑:以下是完整的请求: GET /api/v2.0/me/messages/AA

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

    $select="ContentId,ContentType,Id,IsInline,Name,Size"
所以基本上,我想检索除内容之外的所有内容。但是,这会产生以下错误消息(json):

它告诉我ContentId不存在,这与

编辑:以下是完整的请求:

    GET /api/v2.0/me/messages/AAMkAGZlZjI3N2I3LTg1YWUtNDFiNC05MGI0LTVjYTVmZGI5NGI2YQBGAAAAAABzr8uDji9LRqgTCEsDv22wBwBWTXbvZW0dTKuxUGxpK4-lAAAAAAEMAABWTXbvZW0dTKuxUGxpK4-lAAC5QnKBAAA=/attachments?%24select=ContentId%2CContentType%2CId%2CIsInline%2CName%2CSize 
更奇怪的是,当我在没有指定任何select子句的情况下执行相同的查询时,它会返回一个完整的附件对象,包括ContentId


有人可以帮忙吗?

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

得到

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


希望这有帮助。

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

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

这就成功了。感谢您的建议。

如果任何人对microsoft graph有相同的问题,您需要通过此筛选器:

$select=microsoft.graph.fileAttachment/contentId
像这样:

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

ContentId
Microsoft.OutlookServices.FileAttachment
的一部分。检查以确保指定的类型正确。如果没有看到完整的代码,我们就说不出来。布赖恩,我明白你的意思,它符合错误信息。但是,我没有看到任何REST调用来查找文件附件而不是附件。我是否忽略了这一点?使用RESTAPI,您可能只能查询附件对象中的公共基本项。
GET https://graph.microsoft.com/v1.0/me/messages/attachments?$select=microsoft.graph.fileAttachment/contentId