我正在尝试从用户的邮箱中“克隆”邮件,以在其他邮箱中创建副本。通过将消息的各个部分“克隆”到新消息(包括附件)中,我可以成功使用“创建消息” API。但是,考虑到REST有效负载的4MB限制,大于4MB的消息将被拒绝。因此,想知道是否存在一种通过附件ID或contentId包含附件而不是下载和上传的方法,因为该附件已在服务器上可用。
答案 0 :(得分:0)
根据您的描述,我假设您要在邮件中添加附件。
根据我的测试,我们可以使用此API来实现它。
'POST / users / {id | userPrincipalName} / messages / {id} / attachments'
请求正文是Attachment object的JSON表示形式,如下所示:
{
"contentType": "string",
"id": "string (identifier)", // attachment id
"isInline": true,
"lastModifiedDateTime": "String (timestamp)",
"name": "string",
"size": 1024
}
有关更多详细信息,我们可以参考this document。
答案 1 :(得分:0)
以防万一您找不到答案。
使用Microsoft Graph API,您可以将最大150 MB的文件附加到Outlook消息或事件项。根据文件大小,选择以下两种方式之一来附加文件:
- 如果文件大小小于3 MB,请对Outlook项的附件导航属性执行单个POST;了解如何针对消息或事件执行此操作。成功的POST响应包括文件附件的ID。
- 如果文件大小在3MB到150MB之间,请创建一个上载会话,并反复使用PUT上载文件的字节范围,直到上载整个文件为止。最终成功的PUT响应中的标头包含带有附件ID的URL。
有关更多详细信息,请参阅本文: https://docs.microsoft.com/en-us/graph/outlook-large-attachments?tabs=http