我正在尝试处理添加到我的活动中的附件,并且在加载具有以下类型的附件时很难:
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment"
问题是对于通常的附件:
"@odata.type": "#Microsoft.OutlookServices.FileAttachment"
Office365在响应中发送 contentbytes ,并带有文件的完整内容。如果使用ReversenceAttachment,则响应中没有 contentbytes 字段。我在文档中没有发现有关参考访问的任何有用的东西:
https://msdn.microsoft.com/en-us/office/office/office365/api/calendar-rest-rest-operations#get-attachments。
但是,我确实成功地找到了Beta版本的文档中的一些信息。
https://msdn.microsoft.com/en-us/office/office/office365/api/complex-types-for-mail-mail-contacts-calendar#referenceattachment-preview
应该有 sourceUrl ,但我的响应也没有。
我非常感谢您的帮助,以找到一种获取此类附件内容的方法。谢谢!
我找到了解决方案。我无法获得源URL的原因是,这仅适用于 beta 版本。我期待在稳定的版本中使用它,但是,我当时会使用Beta One。因此,为了使其正常工作,我们需要将路径参数中的版本更改为beta。例如
https://outlook.office.com/api/beta/me/events/{eventId}/attachments/
而不是:
https://outlook.office.com/api/v2.0/me/events/{eventId}/attachments/
这样做之后,您将能够在回复中看到以下内容:
"SourceUrl": "https://.../guestaccess.aspx?docid=...",
这里还有一个有趣的poiunt。如果它是一个办公室文档,您想直接下载它,而不是在线编辑器上打开它,您可以更改 GuestAccess 下载。因此,您将能够下载。