Azure active directory Filter groupType适用于组,但不适用于memberOf

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":

我可以很容易地从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": {
        "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')