You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Graph API中/messages端点是否包含共享邮箱消息及过滤方法的技术问询

关于Microsoft Graph /messages端点返回共享邮箱消息的问题

是的,当你使用应用权限调用/users/{user_id}/messages时,默认情况下确实会返回该用户有权访问的共享邮箱中的消息——这大概率就是你看到消息数量超出预期的原因。

要过滤掉共享邮箱的消息,有两种简单可靠的方式:

1. 使用isShared属性过滤

每个邮件对象都带有isShared字段:当邮件来自共享邮箱时,该字段值为true;用户自身邮箱的消息则为false。你只需在请求中添加$filter查询参数,就能精准筛选:

GET https://graph.microsoft.com/v1.0/users/{user_id}/messages?$filter=isShared eq false

这个方法最直接,无需提前知晓共享邮箱的具体地址,适合批量过滤所有共享邮箱的消息。

2. 针对特定共享邮箱过滤(可选)

如果你只需要排除某个特定的共享邮箱,可以通过过滤发件人归属来实现。比如,已知共享邮箱的地址为shared@example.com,可以用以下查询:

GET https://graph.microsoft.com/v1.0/users/{user_id}/messages?$filter=from/emailAddress/address ne 'shared@example.com'

不过这种方式需要你明确目标共享邮箱的地址,若有多个共享邮箱,需要用and拼接多个条件,灵活性不如第一种方法。

小提示

你可以先调用不带过滤的接口,获取一条来自共享邮箱的消息,查看其isShared属性值,验证这个字段的有效性——这能帮你确认过滤逻辑是否符合预期。

内容的提问来源于stack exchange,提问作者user124114

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 19:09:04