我正在使用下面提到的图形 API - “client.api(
/users/${data_body.payload.originEmail}/messages/${data_body.payload.emailId}/attachments/${data_body.payload.attachmentId}/$value
).getStream()”
如果附件类型为“fileattachment”,它对我来说效果很好,但在“referenceattachment”的情况下,此 api 不起作用 我还浏览了文档,它说 “尝试获取参考附件的 $value 返回 HTTP 405。”
并且它不返回 contentBytes 在此输入图片描述
参考站点 - https://learn.microsoft.com/en-us/graph/api/attachment-get?view=graph-rest-1.0&tabs=http 1:https://i.sstatic.net/fGrft.png
有谁有任何解决方案来获取参考附件的内容数据。如果是的话,那将会有很大的帮助!预先感谢
GET /drive/items/{item-ID}?select=id,@microsoft.graph.downloadUrl
回应=> 点击打开
在这里你可以看到响应中缺少downloadURL
图表 v1.0 端点不支持任何参考附件(除了向您显示电子邮件中存在的附件)。您需要切换到 beta 端点,它将提供相关附件的 sourceUrl,例如 https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/referenceattachment
例如
https://graph.microsoft.com/beta/me/mailfolders/inbox/messages/..AA=/attachments/AAM..
会给你类似的东西
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('..')/mailFolders('inbox')/messages('..')/attachments/$entity",
"@odata.type": "#microsoft.graph.referenceAttachment",
"id": "..",
"lastModifiedDateTime": "2022-04-11T23:53:54Z",
"name": "User1.text",
"contentType": "application/octet-stream",
"size": 565,
"isInline": false,
"sourceUrl": "https://..-my.sharepoint.com/personal/.._com/Documents/Attachments/User1.text",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "other",
"isFolder": false
}
然后,您需要获取 sourceURL 并通过适用的 API 下载参考附件。例如,在此示例中为 Sharepoint,因此您可以使用 SharePoint API 下载文件。
如果其他人在 v1.0 上遇到这个问题。您可以使用引用的附件的id来获取引用的消息
/users/{id}/messages/{referencedAttachmendId}
或哑剧消息
/users/{id}/messages/{referencedAttachmendId}/$value