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

Graph API筛选onPremisesExtensionAttributes报错Request_UnsupportedQuery

问题解决:Graph API筛选onPremisesExtensionAttributes报错Request_UnsupportedQuery

问题原因

onPremisesExtensionAttributes属于复杂类型属性,默认不支持$filter筛选——哪怕你能正常读取这些属性值,这类属性的筛选必须启用Graph API高级查询,同时满足特定请求头和参数要求,否则就会触发Request_UnsupportedQuery错误。

解决方案

1. 启用高级查询规则

必须在请求中添加ConsistencyLevel: eventual请求头,同时带上$count=true参数(对应代码里的.Count()方法),这是筛选目录扩展类属性的强制要求。

2. 修改后的代码示例

// 先转义属性值里的单引号,避免语法错误和注入风险
var escapedValue = extensionAttributeValue.Replace("'", "''");

var users = await graphClient.Users
    .Request()
    .Filter($"onPremisesExtensionAttributes/{extensionAttributeName} eq '{escapedValue}'")
    .Header("ConsistencyLevel", "eventual")
    .Count() // 必须添加该参数以触发高级查询模式
    .GetAsync();

3. 额外检查项

  • 权限验证:确保你的应用已授予User.Read.All(或更高权限)的应用权限,委托权限在高级查询场景下限制更多。
  • 属性合法性:确认extensionAttributeName是合法的属性名(比如extensionAttribute1到extensionAttribute15),拼写错误也会导致筛选失败。

内容的提问来源于stack exchange,提问作者Junior.netare

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:35:44