使用MS Graph SDK或MS Graph explorer,我们正在尝试替换消息中的附件。ms graph API还不支持更新消息附件(至少我们知道这一点)。这就是我们按照以下步骤进行操作的原因:
-
获取原始附件内容。
-
修改该内容
-
删除原附件
-
然后将修改后的内容添加为新附件,并使用相同的名称
这工作。但是,随机失败,导致两个附件,原始的和新的,而不是消息有一个更新的附件。在这两种情况下,API都返回成功结果,但没有指示可能出现的问题。
以下是呼叫:
第一次请求删除附件(步骤3):
删除https://graph.microsoft.com/v1.0/me/messages/{消息id}/附件/{attachmentId}
第二个添加修改附件的请求(步骤4):
文章https://graph.microsoft.com/v1.0/me/messages/{消息id}/附件
身体:
{
"@odata.type"# microsoft.graph.fileAttachment",
"name"smime.p7m",
"contentType"应用程序/x-pkcs7-mime"
"contentBytes"{contentBytes}">
}
对于可能导致问题的任何反馈,我们将不胜感激。
在对此进行了一些研究之后,看起来这不是ms graph的问题。问题是,我们在IOS上使用移动outlook来检查被操纵后的消息,outlook应用程序没有正确更新附件,导致两个附件被显示。如果我们使用ms graph explorer查询消息,我们可以看到附件被正确地替换了。我们的结论是,这是Outlook应用程序在IOS中的一个错误。
为了确认,我们在IOS上重新安装了outlook应用程序,邮件及其附件显示正确。