Ошибка при поиске имени группы указанного пользователя c в Microsoft Graph API - PullRequest
0 голосов
/ 26 февраля 2020

Я использую приведенный ниже вызов API, чтобы получить всю группу, а также группу безопасности, с которой связан пользователь:

   var users = await graphServiceClient.Users.Request().GetAsync();
      foreach (User user in users)
      {

            if(user.DisplayName.Equals("Tom"))
            {
             var groups = await graphServiceClient.Users[user.UserPrincipalName].GetMemberGroups(true).Request().PostAsync();
             }
      }

Где UserPrincipalName - идентификатор электронной почты пользователя. Но он возвращает около 109 значений, и все они имеют идентификатор от 0 до 108 (alphanumeri c значения), но я ожидал также имя группы.

Использую ли я правильный вызов API для поиска имен групп, указанных c пользователь. Пожалуйста, помогите.

1 Ответ

1 голос
/ 27 февраля 2020

/users/{user id or userPrincipleName}/getMemberGroups возвращает только групповые идентификаторы. Вы должны использовать /directoryObjects/getByIds, чтобы вернуть остальную информацию о группе. Например:

enter image description here

C# реализация должна выглядеть примерно так. У меня не было возможности проверить код ниже

var users = await graphServiceClient.Users.Request().GetAsync();
        foreach (User user in users)
        {
            if (user.DisplayName.Equals("Tom"))
            {
                var groupIds = await graphServiceClient.Users[user.UserPrincipalName].GetMemberGroups(false).Request().PostAsync();

                var types = new List<string>() { "group" };
                var groups = await graphServiceClient.DirectoryObjects
                                .GetByIds(groupIds, types)
                                .Request()
                                .PostAsync();
                foreach (var group in groups)
                {
                   ....
                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...