Как я могу вернуть пользовательскую информацию из MS Graph API? - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь получить список плановых планов, связанных с пользователем.Я могу сделать это в Graph Explorer (вошел в систему с моей рабочей учетной записью Microsoft), используя следующий вызов API:

https://graph.microsoft.com/v1.0/users/<my-email>/planner/plans

Однако мне нужно использовать токен из моего консольного приложения, так как мне нужно его запуститькак запланированное задание без вмешательства пользователя.Из моего приложения я получаю сообщение об отказе в доступе:

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

Я могу успешно вызывать "универсальные" методы (например, https://graph.microsoft.com/v1.0/groups), но не что-то конкретное для пользователя.

Я получаю свой токен, используя:

context = new AuthenticationContext("https://login.microsoftonline.com/<my_tenant");
context.AcquireTokenAsync("https://graph.microsoft.com", new ClientCredential(clientId, appKey));

Как я могу дать этому токену необходимые разрешения для чтения таких вещей, как планировщик?Я пробовал в Azure Portal под Azure AD blade:

enter image description here

1 Ответ

0 голосов
/ 05 октября 2018

Согласно вашему описанию, я предполагаю, что вы хотите перечислить планы пользователя.

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

public PlanClientService()
    {
        _serviceClient = GraphSdkHelper.GetGraphServiceClient();
    }
    public async Task<IList<PlannerPlan>> PlannerPlansAsync()
    {
        var plans = await _serviceClient.Me.Planner.Plans.Request().GetAsync();
        return plans;
    }

Мы можемсм. простой код для более подробной информации.

И в соответствии с описанием ошибки вы должны добавить разрешение Group.Read.All, Group.ReadWrite.All при получении токена доступа.

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