使用Microsoft graph API我想要用户个人资料照片

时间:2020-08-21 15:18:00

标签: microsoft-graph-api

嗨,我正在尝试获取用户照片,用过

var tenantId = configuration.GetSection("AzureAd").GetSection("TenantId").Value;
               var clientId = configuration.GetSection("AzureAd").GetSection("ClientId").Value;
             var clientSecret = configuration.GetSection("AzureAd").GetSection("clientSecret").Value;
               var InviteRedirectUrl = configuration.GetSection("AzureAd").GetSection("InviteRedirectUrl").Value;
               
                
               var Instance = configuration.GetSection("AzureAd").GetSection("Instance").Value;
               var URL = Instance + tenantId + "/v2.0";

               var scopes = new string[] { "https://graph.microsoft.com/.default" };

               var confidentialClient = ConfidentialClientApplicationBuilder
                      .Create(clientId)
                      .WithAuthority(URL)
                      .WithClientSecret(clientSecret)
                      .Build();


               GraphServiceClient graphServiceClient =
                   new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) =>
                   {


                       var authResult = await confidentialClient
                       .AcquireTokenForClient(scopes)
                       .ExecuteAsync();


                       requestMessage.Headers.Authorization =
                       new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
                   })
                   );
Stream photo = await graphServiceClient.Me.Photo.Content.Request().GetAsync();  

我遇到以下错误

代码:BadRequest消息:当前经过身份验证的上下文对此请求无效。当对需要用户登录的端点发出请求时,就会发生这种情况。例如,/ me需要登录的用户。代表用户获取令牌,以向这些端点发出请求。将OAuth 2.0授权代码流用于移动和本机应用程序,并将OAuth 2.0隐式流用于单页Web应用程序。内部错误:

如何解决?

0 个答案:

没有答案