Как отфильтровать пользователей по назначенной лицензии с помощью ms-графа
Я пытаюсь этот запрос:
https://graph.microsoft.com/v1.0/users?
$filter=assignedLicenses/any(d:d/skuid eq 28d45cd1-ad8b-15cd-a9e1-52e6a5c24328)
Но я получаю эту ошибку:
BadRequest - ')' или ',' ожидается на позиции 71 в 'назначенных лицензиях / любых (d: d/skuid eq 28d45cd1-ad8b-15cd-a9e1-52e6a5c24328'.
Я делаю что-то не так? этот запрос возможен?
4 ответа
Просто обновление, что теперь это поддерживаемый вызов API. Правильный синтаксис:
https://graph.microsoft.com/v1.0/users?$filter=assignedLicenses/any(x:x/skuId eq e578b273-6db4-4691-bba0-8d691f4da603)
e578b273-6db4-4691-bba0-8d691f4da603 - это SKU факультета A3 в этом примере
В общем, могут быть отфильтрованы только те свойства, в документации которых указано "поддерживает $filter".
Например, на user
объект, accountEnabled
можно отфильтровать.
Так как assignedLicenses
собственность не говорит это, и assignedLicense
тип ресурса не задокументирован на skuId
собственность, я не думаю, что вы можете выполнить этот запрос.
Вы можете попробовать этот
GET https://graph.microsoft.com/v1.0/users?$filter=assignedLicenses/any(s:s/skuId eq 28d45cd1-ad8b-15cd-a9e1-52e6a5c24328)
Для получения дополнительной информации: https://docs.microsoft.com/en-us/graph/query-parameters#filter-using-lambda-operators .
Я попробовал нечто похожее на "бета" версию GRAPH API. Мне нужно отфильтровать по назначенному плану.
https://graph.microsoft.com/beta/users?&$filter=assignedPlans/any(d:d/service%20eq%20'SharePoint')
и это сообщение об ошибке, которое я получил:
{
"error": {
"code": "Request_UnsupportedQuery",
"message": "Complex query on property assignedPlans is not supported.",
"innerError": {
"request-id": "c3fad564-e61d-4066-8bef-548afghtyu",
"date": "2018-12-10T16:43:36"
}
}
}
Так что я думаю, что нет возможности предварительно фильтровать пользователей по назначенным лицензиям или планам. По крайней мере, пока...