我正在尝试获取 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);