Как отфильтровать пользователей по назначенной лицензии с помощью 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"
    }
}
}

Так что я думаю, что нет возможности предварительно фильтровать пользователей по назначенным лицензиям или планам. По крайней мере, пока...

Другие вопросы по тегам