Я могу легко получить все объединенные группы из активного каталога 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"
}
}
}
Итак, почему ничего из этого не поддерживается (также не в бета-версии)?