Мне поставлена задача создать алгоритм поиска профиля пользователя Microsoft Graph для нашего веб-приложения Azure.
Мы хотим, чтобы в результатах поиска были указаны только реальные пользователи. Например, если я ищу ab, то должны быть перечислены все активные пользователи с именем, начинающимся с ab. У нас есть внешние залы для собраний, предназначенные для внешних пользователей нашей AD, мы хотим отфильтровать этих пользователей.
Я пытался вызвать бета-версию Microsoft Graph API, передавая назначенные планы и лицензии в параметре запроса select, но безуспешно.
string filter = @"startswith(displayName,'" + userIdentity + "') or startswith(givenName,'" + userIdentity + "') or startswith(surname,'" + userIdentity + "') or startswith(mail,'" + userIdentity + "') or startswith(userPrincipalName,'" + userIdentity + "')";
var userProfile = await graphServiceClient.Users.Request().Filter(filter).Select(UserProfileSearch.SelectedFields).Top(UserProfileSearch.PageSize).GetAsync() as GraphServiceUsersCollectionPage;
Мы знаем, что лицензии не назначаются комнатам или внешним пользователям, поэтому мы пытались получить пользователей без назначенных лицензий.
Однако бета-версия Microsoft Graph также не возвращает назначенные лицензии всем пользователям в следующем вызове API:
https://graph.microsoft.com/beta/users
Если это разрешено, то как мы можем запросить в графическом обозревателе нулевые или нулевые лицензии?