Фильтр groupType работает с группами, но не с memberOf - PullRequest
0 голосов
/ 06 июля 2018

Я могу легко получить все объединенные группы из активного каталога Azure, особенно потому, что это явно указано в документации :

GET https://graph.microsoft.com/v1.0/groups?filter=groupTypes/any(c:c+eq+'Unified')

И вы можете получить все группы, к которым принадлежит пользователь, с помощью этого запроса :

GET https://graph.microsoft.com/v1.0/users/{user-id}/memberOf

Теперь давайте объединим эти два запроса, чтобы получить все объединенные группы, к которым принадлежит пользователь:

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

Хорошо, так что группы поддерживают лямбда-запрос, поэтому давайте расширим этот вопрос и расширим фильтр, чтобы также фильтровать элементы:

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

Итак, почему ничего из этого не поддерживается (также не в бета-версии)?

Ответы [ 2 ]

0 голосов
/ 25 июля 2018

Итак, почему ничего из этого не поддерживается (также не в бета-версии)?

$ фильтр не поддерживается Список memberOf Rest API . Мы могли бы получить эту информацию из List memberOf API API .

Этот метод поддерживает параметры запроса OData, чтобы помочь настроить ответ. $ filter is not поддерживается .

Из List Group Rest API , мы могли бы знать, что нет никаких свойств, связанных с пользователем. Поэтому попытка фильтрации по членам не поддерживается.

Как сказал SaurabhSharma-MSFT, вы можете использовать следующий способ для этого.

GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')
0 голосов
/ 24 июля 2018

Пожалуйста, попробуйте использовать приведенный ниже запрос, чтобы получить все объединенные группы, к которым принадлежит пользователь -

GET https://graph.microsoft.com/v1.0/Users/{user-id}/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(c:c+eq+'Unified')
...