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

Microsoft Graph无法用$filter获取未读邮件,请求报错如何解决?

问题解答

$filter并未被弃用

Microsoft Graph API v1.0版本的/users/{user-id}/mailfolders/inbox/messages端点完全支持$filter=isRead eq false这个查询条件,该功能没有被弃用。

报错原因分析

你遇到的"the content you are trying to view cannot be viewed as JSON"错误,大概率是以下原因导致:

  • 请求未指定正确的Accept头,API返回了非JSON格式的内容(比如HTML错误页面)
  • 认证token无效或权限不足,触发了API的错误页面跳转
  • 请求URL格式有误(比如参数空格、占位符未替换)

解决方案

  • 设置正确的请求头:在SoapUI的请求Headers中添加Accept: application/json,强制API返回JSON格式响应。
  • 验证认证信息:确认请求携带的Bearer token有效,且已授予Mail.Read权限。如果token过期或权限不够,API会返回HTML错误页,导致JSON解析失败。
  • 修正请求URL:
    • 把{user ID}替换为实际的用户ID或用户邮箱(比如john.doe@contoso.com)
    • 移除URL末尾的多余空格,正确格式应为:
      https://graph.microsoft.com/v1.0/users/{user-id-or-email}/mailfolders/inbox/messages?$filter=isRead eq false
      
  • 使用$search参数的注意事项:如果要用$search查询未读邮件,格式应为$search="isRead:false",同时必须在请求头中添加ConsistencyLevel: eventual,否则会触发查询节点无效的错误。
  • 先在Graph Explorer验证:先在Graph Explorer中测试该请求,确认能正常返回未读邮件列表后,再复制请求配置到SoapUI中,排除工具配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:02:43