如何在Microsoft Graph中对应用对象扩展属性使用查询参数?
问题解决:Graph API 限制应用所有者返回字段及所有者过滤
一、仅返回所有者ID的正确请求
你之前的请求未指定应用程序本身的返回字段,需调整参数确保嵌套的$select生效。正确请求应同时指定应用程序的所需字段,以及所有者的id字段:
GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'api-lab'&$select=id,displayName&$expand=owners($select=id)&$count=true
说明:
$select=id,displayName:指定应用程序仅返回id和displayName字段(可按需调整)$expand=owners($select=id):扩展所有者关系并仅返回所有者的id字段
二、对所有者使用$filter的正确方式
你之前的错误是重复使用$filter参数,Graph API不支持多个$filter。需将所有过滤条件合并到同一个$filter中,同时使用owners/$count过滤时必须添加请求头ConsistencyLevel: eventual。
示例1:筛选无所有者的指定应用
GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'api-lab' and owners/$count eq 0&$count=true
请求头需包含:
ConsistencyLevel: eventual
示例2:筛选有所有者的指定应用
GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'api-lab' and owners/$count ne 0&$count=true
同样需要添加ConsistencyLevel: eventual请求头。
错误原因说明
你之前的请求重复使用了$filter参数,Graph API无法识别多个$filter表达式,因此返回Request_UnsupportedQuery错误。所有过滤条件必须合并到同一个$filter中。
内容的提问来源于stack exchange,提问作者Shuzheng
相关产品推荐
相关产品推荐

