Как получить доступ к Microsoft Office 365 Planner программно - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь получить доступ к Microsoft Office 365 Planner с помощью CSOM и приложения Azure.Всякий раз, когда я пытаюсь получить доступ к планировщику с помощью идентификатора группы, я получаю следующую ошибку:

401 - Несанкционированный: доступ запрещен из-за неверных учетных данных.У вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных.

Я предоставил необходимые разрешения для API Azure Graph.Приложение - чтение групп все, чтение и запись групп все.Делегированный - Tasks.ReadWrite

Ниже приведен пример кода, который я использую:

//Querying plans in current group await 
graphClient.Groups[groupId].Planner.Plans.Request().GetAsync();

Есть ли вариант для достижения этой цели.Мне нужно получить доступ к планировщику и создать группы и планы на основе группы Office 365.

Любая помощь очень ценится.Заранее спасибо.

1 Ответ

0 голосов
/ 12 февраля 2019

Вы должны использовать Microsoft Graph, а не Azure AD Graph API.

https://docs.microsoft.com/en-us/graph/planner-concept-overview

Кроме того, для доступа к Планировщику необходимо пройти проверку подлинности с использованием учетных данных пользователя.Вы можете изменить метод GetAccessToken для аутентификации таким способом (пример из связанного блога).

private async Task<string> GetAccessToken(string resourceId, string userName, string password)
{
    try
    {
        var authority = ConfigurationManager.AppSettings["ida:AuthorizationLoginUri"] + ConfigurationManager.AppSettings["ida:TenantId"];
        var authContext = new AuthenticationContext(authority);
        var credentials = new UserPasswordCredential(userName, password);
        var authResult = await authContext.AcquireTokenAsync(resourceId, ConfigurationManager.AppSettings["ida:ClientIdNativeClient"], credentials);

        // Get the result
        return authResult.AccessToken;
    }
    catch (Exception ex)
    {
       // TODO: handle the exception
       return;
    }

Вам также необходимо убедиться, что ваше приложение правильно зарегистрировано на портале.Ознакомьтесь с этим полезным блогом, в котором показано, как избежать ошибки, описанной вами при доступе к планировщику: https://karinebosch.wordpress.com/2017/12/18/microsoft-graph/

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