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

哪些Exchange Online API支持租户全邮件检索?求替代ComplianceSearch的方案

替代ComplianceSearch API的方案

如果你不想依赖Microsoft Purview,以下两种API可以实现统计指定外部地址往来邮件数量或获取时间戳集合的需求:

1. Microsoft Graph API(推荐)

这是微软当前主推的API,无需Purview授权,只需对应邮箱权限即可。

核心操作

  • 单个用户邮箱查询
    筛选与指定外部地址往来的邮件,可直接通过Messages端点实现:

    • 统计数量:使用$count参数获取匹配邮件总数
      GET https://graph.microsoft.com/v1.0/users/{userId}/messages?$filter=from/emailAddress/address in ('external1@domain.com', 'external2@domain.com') or toRecipients/any(r: r/emailAddress/address in ('external1@domain.com', 'external2@domain.com'))&$count=true&$top=0
      
      注:$top=0用于只返回数量,不加载邮件内容,提升效率。
    • 获取时间戳集合:指定$select仅返回receivedDateTime字段
      GET https://graph.microsoft.com/v1.0/users/{userId}/messages?$filter=from/emailAddress/address in ('external1@domain.com', 'external2@domain.com') or toRecipients/any(r: r/emailAddress/address in ('external1@domain.com', 'external2@domain.com'))&$select=receivedDateTime
      
  • 跨多个用户邮箱查询
    如果需要遍历组织内所有用户的邮箱,需申请Application权限(需管理员同意),权限类型选择Mail.Read,然后循环调用每个用户的Messages端点汇总结果。

权限要求

  • 委托权限:Mail.Read(适用于当前登录用户邮箱)
  • 应用权限:Mail.Read(适用于访问组织内所有用户邮箱)

2. Exchange Web Services (EWS)

虽然微软官方更推荐Graph API,但EWS仍可用于此类查询,适合已有EWS集成的场景。

核心操作

使用FindItems操作,设置筛选条件匹配指定外部地址:

  • 统计数量:调用FindItems时设置ItemView的MaxItemCount为1,通过返回的TotalCount获取总数
  • 获取时间戳集合:筛选后仅提取邮件的DateTimeReceived属性

权限要求

需拥有邮箱的FullAccess或ReadItems权限,可通过Exchange管理员控制台配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:32:07