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

Dav*_*der 7 office365 office365api microsoft-graph

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

重现的场景如下:

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

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

附件作为消息

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

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

Jas*_*ton 3

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

我查看了parentFolderId消息的内容。对于“正确”的那个,它是收件箱的 ID。对于另一个人来说,情况并非如此。无论它是什么 ID,我都无法通过 API 检索它(我收到 404)。所以这很可能是一个隐藏文件夹。

通过使用 ID,我能够转换为 MAPI ID 并使用MFCMapi打开它。原来是Files文件夹。所以我认为这里的错误是返回结果时/me/messages不应包含Files文件夹。我将向我们的开发团队记录一个错误。