Microsoft Graph API - Недостаточные привилегии, Request_ResourceNotFound - Azure Проблемы с разрешениями - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь сделать что-то, что, на мой взгляд, должно быть довольно простым, используя Microsoft Graph API.

Для начала все, что я хочу сделать, - это получить список всех пользователей в моей организации.

Чтобы установить Microsoft Graph SDK, я следовал примеру здесь:

https://docs.microsoft.com/en-us/graph/sdks/sdk-installation

I ' m, используя поставщик учетных данных клиента для подключения к MS Graph, как описано здесь:

https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=CS

Затем для просмотра списка пользователей, которых я использую C# пример из документов, как показано здесь:

https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=csharp

Итак, мой код выглядит так:

       IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
       .Create(clientId)
       .WithTenantId(tenantID)
       .WithClientSecret(clientSecret)
       .Build();

        ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);

        GraphServiceClient graphClient = new GraphServiceClient(authProvider);


        var me = await graphClient.Me
              .Request()
              .GetAsync();

        var org = await graphClient.Organization
          .Request()
          .GetAsync();



        var users = await graphClient.Users
            .Request()
            .GetAsync();

СООБЩЕНИЯ ОБ ОШИБКАХ

ME:

Ошибка сервера в приложении '/'.

Код: Request_ResourceNotFound

Сообщение: Ресурс '10028d9z-115 c -45f9-a12b-722a4aa42c8k' не существует или один из его запрашиваемых объектов ссылочных свойств отсутствует. Внутренняя ошибка: AdditionalData: идентификатор запроса: aedf34aa-f548-474e-82g6-956bae321088 ClientRequestId: aklf34aa-f5r9-474e-82c4-956bae325288

ORG:

* 1054 Ошибка в «/» приложении.

Код: Authorization_RequestDenied

Сообщение: недостаточно прав для завершения операции. Внутренняя ошибка: AdditionalData: идентификатор запроса: 9xd043m9-9b58-46d c -93d8-a183b4880fz2 ClientRequestId: 9cd043c8-9b58-46hj-93d8-a183b4880fe2

ПОЛЬЗОВАТЕЛИ: * 1065 1066 * Ошибка сервера в приложении '/'.

Код: Authorization_RequestDenied

Сообщение: недостаточно прав для завершения операции. Внутренняя ошибка: AdditionalData: идентификатор запроса: 2a88fd01-34aa-4841-947 c -c196ce885d75 ClientRequestId: 2a88fd01-34aa-4841-947 c -c189ce625d75

Я очень новичок в Azure поэтому мне нужна помощь в понимании, если мне нужно изменить свой подход в своем коде или настроить что-то в Azure.

ОБНОВЛЕНИЕ: Это то, на что похожи разрешения, мне нужно установить некоторые другие разрешения на каком-либо другом экране в Azure? enter image description here

1 Ответ

2 голосов
/ 14 января 2020

Причина / меня не работает проста. Вы вызываете API как приложение, а не от имени пользователя. Так что / я ничего не значит. Вы должны использовать конечную точку / users / {id}.

Другие проблемы вызваны отсутствием согласия. Вам потребовались разрешения, но, как видно из скриншота, они не были предоставлены. Кстати, вы можете удалить делегированные разрешения, они не применяются при вызове приложения без пользователя.

Также, похоже, у вас нет прав для предоставления этих разрешений. Попросите администратора (Глобальный администратор / администратор приложения) согласиться с вашими разрешениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...