我正在使用Microsoft Graph来获取邮件附件。
GET /messages/{messageId}/attachments
下面是我附件中的Excel文件。它不通过SharePoint或OneDrive共享。这是一个真实的文件。
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('576552d5-3bc0-42a6-a53d-bfceb405db23')/messages('AAMkADBlZTUwNTkxLWVmODgtNDVhNC1iZjhlLTdjNjA1ODZlMDI5MgBGAAAAAACUbnk-iwQZRbXMgkfKtmYhBwCpTc-InBsuTYwTUBb_VIb4AAAAAAEJAACpTc-InBsuTYwTUBb_VIb4AAEDHFyhAAA%3D')/attachments",
"value": [
{
"@odata.type": "#microsoft.graph.fileAttachment",
"id": "AAMkADBlZTUwNTkxLWVmODgtNDVhNC1iZjhlLTdjNjA1ODZlMDI5MgBGAAAAAACUbnk-iwQZRbXMgkfKtmYhBwCpTc-InBsuTYwTUBb_VIb4AAAAAAEJAACpTc-InBsuTYwTUBb_VIb4AAEDHFyhAAABEgAQAJNuGUnRZb5Ng3YjQgsDdEg=",
"lastModifiedDateTime": "2018-04-20T18:02:05Z",
"name": "Book1.xlsx",
"contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"size": 58818,
"isInline": false,
"contentId": null,
"contentLocation": null,
"contentBytes": "UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAA..."
}
]
}
我的问题是,如果附件是Excel / Word / PowerPoint文件,有没有办法获得在Microsoft Office Online中打开/查看它的链接?感谢
答案 0 :(得分:0)
不直接,不。要在Office Online中打开文档,需要将其复制到支持WOPI的存储提供程序。最简单的方法是使用用户的OneDrive实例。将文件保存到OneDrive后,查询DriveItem
将返回webUrl
属性,该属性包含在Office Online中打开该文档的完整URI。
答案 1 :(得分:0)
如果该文件在OneDrive中共享,并且在云中附加了该文件的共享副本,则可以执行此操作。
首先,您必须使用beta API版本来查询附件:
https://graph.microsoft.com/beta/me/messages/{messageId}/attachments
它将返回给您SourceUrl
。即使您未登录,也可以在浏览器中打开该URL。