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

如何通过Microsoft Graph API使用userID查询指定用户的邮箱订阅列表

解答

有完全匹配你需求的调用方式,可以直接拿到指定用户邮箱专属的订阅列表,无需拉取全量订阅后再手动过滤,逻辑和你给出的OneDrive订阅查询完全一致。

你可以直接调用邮箱对应资源下的Subscriptions端点,示例代码如下:

// 查询指定用户收件箱的订阅列表
IMailFolderSubscriptionsCollectionPage inboxSubscriptions = await graphClient.Users["{UserId}"]
                                                                               .MailFolders["Inbox"]
                                                                               .Subscriptions
                                                                               .Request()
                                                                               .GetAsync();

如果需要查询其他邮箱相关资源的订阅,调整路径即可:

  • 查询用户默认日历的订阅:将路径替换为.Calendar.Subscriptions
  • 查询用户指定联系人文件夹的订阅:将路径替换为.ContactFolders["{文件夹ID}"].Subscriptions
  • 查询用户任务列表的订阅:将路径替换为.Planner.Tasks["{任务ID}"].Subscriptions

这种方式返回的结果只会包含绑定在对应邮箱资源下的订阅,不会混入OneDrive、SharePoint等其他服务的订阅,完全符合你的筛选需求。调用前请确保你的应用已经申请了对应资源的订阅读取权限,比如查询邮件订阅需要Mail.ReadBasic及以上权限,查询日历订阅需要Calendars.Read及以上权限。

如果你需要一次性拉取该用户所有邮箱相关资源的所有订阅,也可以调用全量订阅接口后通过resource字段过滤符合邮箱资源路径前缀的条目,但这种方式的性能和查询效率都远低于直接调用对应资源的Subscriptions端点,更推荐按需查询对应资源的订阅。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:39:03