如何筛选出至少拥有一名所有者的EntraID应用?
筛选Entra ID中至少有一名所有者的应用
要筛选出已分配至少一名所有者的Entra ID应用,你可以利用Graph API中支持的owners/$count筛选条件,结合必要的请求参数和头信息来实现:
核心查询逻辑
使用$filter=owners/$count ne 0作为筛选条件,这个表达式会匹配所有所有者数量不等于0的应用(也就是至少有1名所有者的应用)。
完整API请求示例
HTTP GET请求
GET https://graph.microsoft.com/v1.0/applications?$filter=owners/$count ne 0&$count=true ConsistencyLevel: eventual
- 必须添加
$count=true参数,用于启用计数筛选功能 - 必须设置请求头
ConsistencyLevel: eventual,这是OData v4中使用计数筛选的强制要求,缺少会导致请求失败
.NET SDK示例
如果使用Microsoft Graph .NET SDK,代码可以这样写:
var graphClient = new GraphServiceClient(yourAuthenticationProvider); var applicationsWithOwners = await graphClient.Applications .GetAsync(requestConfig => { requestConfig.QueryParameters.Filter = "owners/$count ne 0"; requestConfig.QueryParameters.Count = true; requestConfig.Headers.Add("ConsistencyLevel", "eventual"); });
注意事项
- 不要遗漏
ConsistencyLevel请求头和$count=true参数,这两个是让计数筛选生效的关键 - 该筛选逻辑适用于
applications端点,同样也可以用于servicePrincipals端点来筛选服务主体的所有者情况
内容的提问来源于stack exchange,提问作者Shabarinath
相关产品推荐
相关产品推荐

