Данные задач планировщика выборки API Microsoft Graph через ASP.NET Core MVC

Я пытаюсь настроить тестовое приложение, чтобы вытащить задачи планировщика для группы по идентификатору и передать его в индекс моего MVC. Я получаю 401 - несанкционированная ошибка, и я застрял, пытаясь выяснить причину...

Я импортировал Microsoft.Graph и Microsoft.Graph.Auth. Создан класс утилит под названием Graph Client:

public static GraphServiceClient GetGraphServiceClient()
        {
            
            IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
                .Create(clientID)
                .WithTenantId(tenantID)
                .WithClientSecret(secret)
                .Build();

            ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);

            //inits Microsoft Graph Client
            GraphServiceClient graphClient = new GraphServiceClient(authProvider);

            return graphClient;
        }

В Azure AD я связал приложение с делегированными разрешениями для Graph.Read.All и Graph.ReadWrite.All.

В моем HomeController я добавил запрос GET для получения имени группы и еще один запрос GET для получения задач планировщика для указанной группы:

var request = await graphClient.Groups
                    .Request()
                    .Filter("startswith(displayName, '{Name}')")
                    .GetAsync();

                var planner = await graphClient.Groups["{My Group ID}"].Planner.Plans
                    .Request()
                    .GetAsync();

Однако я не могу пройти 401...

Я пробовал отладку, чтобы убедиться, что мой клиент создается должным образом (я не хочу собирать день через пользователя или от имени пользователя), попытался добавить заголовок запроса с токеном Auth 2.0, созданным через Postman, и проверил документацию Microsoft чтобы убедиться, что я чего-то не упускаю, и просмотрел их примеры проектов на GitHub.

Есть идеи, как решить эту проблему? Я подумал, что мне может понадобиться добавить токен аутентификации или, возможно, попробовать использовать другую аутентификацию. Любой ввод помогает; заранее спасибо!

0 ответов

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