获取 URL 响应以创建团队会议

时间:2021-04-07 07:24:16

标签: c#

我正在尝试获取 URL 响应,但出现以下错误,所以有两个问题,我使用的代码是否正确,以及我的应用是否存在权限错误?

代码:BadRequest 消息:当前经过身份验证的上下文对此请求无效。当向需要用户登录的端点发出请求时,就会发生这种情况。例如,/me 需要登录用户。代表用户获取令牌以向这些端点发出请求。将 OAuth 2.0 授权代码流用于移动和本机应用程序,将 OAuth 2.0 隐式流用于单页 Web 应用程序。 内部错误: 附加数据: 日期:2021-04-07T07:21:55 请求 ID:7d96afa8-7f07-49f2-8b17-f90cfda58695 客户端请求 ID:7d96afa8-7f07-49f2-8b17-f90cfda58695 ClientRequestId: 7d96afa8-7f07-49f2-8b17-f90cfda58695

            //https://docs.microsoft.com/en-us/graph/api/application-post-onlinemeetings?view=graph-rest-1.0&tabs=http 
            IConfidentialClientApplication app = await MsalAppBuilder.BuildConfidentialClientApplication();
            string[] scopes = { "OnlineMeetings.ReadWrite", "Mail.Send", "User.Read" };
 
            var account = await app.GetAccountAsync(ClaimsPrincipal.Current.GetAccountId());
            //https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=CS

            IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
            .Create(WebConfigurationManager.AppSettings["ida:ClientId"])
            //.WithTenantId(WebConfigurationManager.AppSettings["ida:TenantId"])
            .WithRedirectUri(WebConfigurationManager.AppSettings["ida:RedirectUri"])
            .WithClientSecret(WebConfigurationManager.AppSettings["ida:ClientSecret"]) // or .WithCertificate(certificate)
            .Build();

            ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
           
            GraphServiceClient graphClient = new GraphServiceClient(authProvider);

            var onlineMeeting = new OnlineMeeting
            {
                StartDateTime = DateTimeOffset.Parse("2021-05-12T21:30:34.2444915+00:00"),
                EndDateTime = DateTimeOffset.Parse("2021-05-12T22:00:34.2464912+00:00"),
                Subject = "User Token Meeting"
            };
            //We want to get the URL back
            //https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-conditional-access-dev-guide
            var meeting = await graphClient.Me.OnlineMeetings 
            .Request()
            .AddAsync(onlineMeeting); 

0 个答案:

没有答案