При обращении к командам Microsoft через объект ссылка на объект не установлена. Net - PullRequest
0 голосов
/ 06 января 2020

В следующем коде я получаю исключение нулевой ссылки, когда элемент управления пытается выполнить запрос GetAsync().

public static async Task<DialogTurnResult> OnBehalfOf(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
    try
    {

        IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
        .Create(clientId)
        .WithRedirectUri(redirectUri)
        .WithClientSecret(clientSecret)
        .Build();

        OnBehalfOfProvider authProvider = new OnBehalfOfProvider(confidentialClientApplication, scopes);
        HttpProviderTeamsAccess temp = new HttpProviderTeamsAccess();
        GraphServiceClient graphClient = new GraphServiceClient(authProvider);

        var usr = await graphClient.Me.Request().GetAsync();
        var a = usr;
        //var reply_User_Name = MessageFactory.Text(user.DisplayName.ToString());
        //await stepContext.Context.SendActivityAsync(reply_User_Name, cancellationToken);
    }
    catch (Exception ex)
    {
        var reply_User_Name = MessageFactory.Text(ex.Message.ToString());
        await stepContext.Context.SendActivityAsync(reply_User_Name, cancellationToken);
    }
    return null;
}

1 Ответ

0 голосов
/ 10 января 2020

При использовании OnBehalfOfProvider вы должны указать, от какого пользователя вы звоните от имени.

var usr = await graphClient.Me.Request().WithUserAssertion(<bearer token from incoming auth header>).GetAsync();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...