Azure active directory Filter groupType适用于组,但不适用于memberOf
我可以很容易地从azure active directory获取所有统一组,特别是因为以下内容中明确提到了它: 您可以通过以下方式获取用户所属的所有组: 现在,让我们结合这两个查询来获得用户所属的所有统一组:Azure active directory Filter groupType适用于组,但不适用于memberOf,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我可以很容易地从azure active directory获取所有统一组,特别是因为以下内容中明确提到了它: 您可以通过以下方式获取用户所属的所有组: 现在,让我们结合这两个查询来获得用户所属的所有统一组: GET https://graph.microsoft.com/v1.0/users/{user-id}/memberOf?filter=groupTypes/any(c:c+eq+'Unified') 你会回来的: HTTP Status Code 400 { "error":
GET https://graph.microsoft.com/v1.0/users/{user-id}/memberOf?filter=groupTypes/any(c:c+eq+'Unified')
你会回来的:
HTTP Status Code 400
{
"error": {
"code": "BadRequest",
"message": "Filter not supported.",
"innerError": {
"request-id": "{request-id}",
"date": "2018-07-06T07:29:52"
}
}
}
好的,所以组支持lambda查询,所以让我们在此基础上进行扩展,并增强过滤器以同时过滤成员:
GET https://graph.microsoft.com/v1.0/groups?$filter=groupTypes/any(c:c+eq+'Unified') and members/any(u:u/id+eq+'{user-id}')
但这又回来了
HTTP Status Code 400
{
"error": {
"code": "Request_UnsupportedQuery",
"message": "Unsupported Query.",
"innerError": {
"request-id": "{request-id}",
"date": "2018-07-06T07:41:47"
}
}
}
那么,为什么这些都不受支持(在测试版中也不受支持)?请尝试使用以下查询获取用户所属的所有统一组-
GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')
GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')
那么,为什么这些都不受支持(在测试版中也不受支持)
不支持$filter。我们可以从文件中得到这些信息
此方法支持OData查询参数以帮助自定义响应$filter不受支持
从中,我们可以知道没有任何与用户相关的属性。
因此,您尝试对不支持的成员进行筛选
正如SaurabhSharma MSFT提到的,您可以使用以下方法来实现这一点
GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')
GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')