【问题标题】:Using MSGraph to download emails for Exchange Online with Advanced Threat Protection (ATP) Enabled使用 MSGraph 为启用了高级威胁防护 (ATP) 的 Exchange Online 下载电子邮件
【发布时间】:2022-11-03 22:18:22
【问题描述】:
我们有一个使用 MSGraph 定期(例如……每 10 分钟)下载电子邮件的过程。
下载后,将检查电子邮件并导入附件以进行额外处理。
我们有一位客户迁移到 Office 365 Exchange Online 并启用了高级威胁防护。
我们正在下载电子邮件,但一部分电子邮件(通常是在我们开始下载后一分钟内收到的电子邮件)失败。
我们假设这些电子邮件尚未对它们执行 ATP 投递后保护扫描……还没有。
是否有一种方法可以过滤掉仍在等待执行 ATP 交付后保护的电子邮件?
【问题讨论】:
标签:
microsoft-graph-api
microsoft-graph-sdks
microsoft-graph-mail
microsoft365-defender
【解决方案1】:
我没有使用 ATP 的经验(并且我在我的租户中没有使用 ATP 的权限),但您可以尝试致电 /informationProtection/threatAssessmentRequest 端点并过滤邮件威胁评估请求。
GET /v1.0/informationProtection/threatAssessmentRequests?$filter=contentType eq 'mail'
它将返回mailAssessmentRequest 的集合。
mailAssessmentRequest 具有属性 messageUri 和 status。
messageUri 是评估邮件的资源 URI。该值应如下所示(根据此example)
https://graph.microsoft.com/v1.0/users/{user_id}/messages/{message-id}
您可以从messageUri 中解析message-id 并将其与当前处理的电子邮件的message-id 配对,并检查mailAssessmentRequest 的status 是挂起还是完成。