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

使用Microsoft Graph API筛选Outlook邮件返回全部结果问题求助

问题修复方案

核心问题

你的查询存在两个关键问题:

  1. 未添加主题包含关键字的筛选条件,若时间范围和发件人本身覆盖范围大,就会返回大量无关邮件
  2. PowerShell中直接拼接URL时,$符号未转义,可能导致Graph API无法正确识别$filter、$select参数

修正后的查询代码

# 定义变量
$UserUpn = "你的用户主体名称"
$targetSender = "email@example.ca"
$subjectKeyword = "你要匹配的关键字"
$startDateTime = "2023-07-24T00:00:00Z"

# 构建筛选条件
$filterClause = "receivedDateTime ge $startDateTime and from/emailAddress/address eq '$targetSender' and contains(subject, '$subjectKeyword')"

# 拼接完整请求URL(注意转义$符号)
$requestUrl = "https://graph.microsoft.com/v1.0/users/$UserUpn/messages`?$filter=$filterClause&`$select=receivedDateTime,Id,Sender,Subject,Body,isRead"

关键说明

  • 新增contains(subject, '关键字'):实现主题包含指定内容的筛选,contains函数对大小写不敏感
  • 转义$符号:PowerShell中用反引号()转义$filter和$select前的$`,避免被当作PowerShell变量解析
  • 拆分变量:将筛选条件拆分为独立变量,便于修改和排查错误

额外检查项

如果仍返回不符合条件的邮件,确认以下内容:

  • 已获取正确的API权限(需Mail.Read或Mail.ReadBasic权限)
  • 发件人邮箱地址完全正确(无拼写错误,注意域名后缀)
  • 时间格式严格遵循ISO 8601标准(如2023-07-24T00:00:00Z)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:05:08