Graph API 中的“/messages”是否包含共享邮箱?

Does `/messages` in Graph API include shared mailboxes?

我打电话给 https://graph.microsoft.com/v1.0/users/{user_id}/messages/ 是为了对所有用户消息进行分页。我正在使用应用权限进行访问,效果很好。

但我收到的消息比预期的要多,我不确定为什么。 /messages 端点是否也包含来自 user_id 可用的共享邮箱的消息?

如果是这样,有什么方法可以抑制它?谢谢

是什么让您觉得收到的消息比预期多?注意 /messages returns all of the messages in the mailbox across all of the folders.

文档指出共享消息访问是使用 delegated permissions 执行的。使用应用程序权限时,您不应看到共享消息。您的应用程序是否使用 Mail.Read.SharedMail.ReadWrite.Shared 范围?如果是这样,您应该能够删除它们,我希望它不应该有访问权限。

来自 Microsoft 的 Known Issues 页面:

GET messages returns chats in Microsoft Teams

In both the v1 and beta endpoints, the response of GET /users/id/messages includes the user's Microsoft Teams chats that occurred outside the scope of a team or channel. These chat messages have "IM" as their subject.

所以解决方案是忽略所有带有 subject == "IM" 的消息。