文件附件在Microsoft Graph API中显示为消息实体

时间:2016-10-05 11:25:29

标签: office365 office365api microsoft-graph

最近我们注意到Microsoft Graph API已经将文件附件作为从/ me / messages端点返回的消息实体返回。

重现的场景如下:

  • 向自己发送一封包含一个或多个文件附件的电子邮件(或让其他人向您发送电子邮件)
  • 在图表资源管理器中运行以下查询:https://graph.microsoft.com/v1.0/me/messages
  • 请注意,将有一个对象代表电子邮件本身(这是正确的行为)和一个或多个对象,它们是文件附件的表示。

还值得注意的是,这些附件“消息”与原始电子邮件具有相同的主题,正文内容设置为附件的文件内容(如果附件是文档),则没有发件人或收件人,它们的isRead状态为true,isDraft状态为true。完全没废话!

Attachment as message

我只能假设这是Graph API中的一个错误 - 我无法看到为什么会出现这种情况。值得注意的是,我已经使用Graph API大约9个月了,这种行为最近才开始发生。

请问微软的某位代表,请尽快与我联系吗?这是API中的一个主要错误,无疑会破坏大多数使用它的应用程序。这也是一个非常值得关注的问题,我们正在改变一个据称稳定的v1.0。为什么不在下一个版本中使用v1.1或v2.0?

1 个答案:

答案 0 :(得分:3)

感谢报道!如果我通过/me/messages端点检索消息,我也会看到这种行为。如果我通过/me/mailfolders/inbox/messages检索,我不会。这实际上是一个重要的线索。

我查看了parentFolderId消息。对于"对"的那个,它是收件箱的ID。对于另一个,它不是。无论是什么ID,我都无法通过API检索它(我得到了404)。所以这可能是一个隐藏的文件夹。

使用ID,我可以转换为MAPI ID并使用MFCMapi打开它。事实证明它是 Files 文件夹。所以我认为这里的错误是/me/messages在返回结果时不应包含 Files 文件夹。我将在我们的开发团队中记录错误。