我正在使用Azure AD中的应用程序标识,并授予读写权限,我还运行了Grant CSApplicationAccess策略,以便应用程序标识有权代表Azure AD中的真实用户标识创建在线会议
我知道我的设置与graph api中的get user一起工作。但是,在运行以下操作后,我遇到了错误:
var confidentialClient = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithAuthority($"https://login.microsoftonline.com/{tenantId}/v2.0")
.WithClientSecret(clientSecret)
.Build();
GraphServiceClient graphServiceClient =
new GraphServiceClient("https://graph.microsoft.com/beta", new DelegateAuthenticationProvider(async (requestMessage) =>
{
var authResult = await confidentialClient
.AcquireTokenForClient(scopes)
.ExecuteAsync();
requestMessage.Headers.Authorization =
new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
})
);
var onlineMeeting = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2020-12-25T21:30:34.2444915+00:00"),
EndDateTime = DateTimeOffset.Parse("2020-12-25T22:00:34.2464912+00:00"),
Subject = "User Token Meeting 1"
};
var meetingInstance = await graphServiceClient.Me.OnlineMeetings
.Request()
.AddAsync(onlineMeeting);
错误消息如下,为什么会说用户在AAD中按用户id查找失败?
状态:未找到(404)操作ID:8d06ff01-1dc3-49d1-9ced-9db6a919b162
ClientCorrelationId:53b4478e-ba86-48ca-bb5b-25e5ef50c187
服务器错误:在AAD中按用户id查找用户失败。
客户端异常:处理HTTP请求导致异常。有关详细信息,请参阅此异常的“响应”属性返回的HTTP响应。
内部错误:
其他数据:
日期:2020-12-16T21:08:31
请求id:d60858cf-5ef5-4a0d-8d67-181f80ed6c35
客户请求id:d60858cf-5ef5-4a0d-8d67-181f80ed6c35
客户问题ID:d60858cf-5ef5-4a0d-8d67-181f80ed6c35
在微软。图表HttpProvider。微软的SendAsync(HttpRequestMessage请求、HttpCompletionOption completionOption、CancellationToken CancellationToken)。图表基本要求。微软的SendRequestAsync(对象serializableObject、CancellationToken CancellationToken、HttpCompletionOption completionOption)。图表基本要求。MSTeam上的SendAsync[T](对象serializableObject、CancellationToken CancellationToken、HttpCompletionOption completionOption)。程序D:\VSTS\msteam\msteam\msteam\msteam\Program中的Main(字符串[]args)。政务司司长:第62行
根据本文件:
使用应用程序令牌时请求:POST/users/{userId}/onlineMeetings
。
所以你应该使用graphServiceClient。用户[“{userId}”]。在线会议
而不是graphServiceClient。我这里是在线会议
。
userId
是用户的对象ID。配置应用程序访问策略时,需要将策略授予用户:
Grant-CsApplicationAccessPolicy -PolicyName Test-policy -Identity "ddb80e06-92f3-4978-bc22-a0eee85e6a9e"
ddb80e06-92f3-4978-bc22-a0eee85e6a9e
正是userId
。
我的代码供您参考:
// Configure the MSAL client as a confidential client
var confidentialClient = ConfidentialClientApplicationBuilder
.Create("{client_id}")
.WithTenantId("{tenant_id}")
.WithClientSecret("{client_secret}")
.Build();
ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClient);
GraphServiceClient graphServiceClient = new GraphServiceClient(authProvider);
var onlineMeeting = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2021-01-12T21:30:34.2444915+00:00"),
EndDateTime = DateTimeOffset.Parse("2021-01-12T22:00:34.2464912+00:00"),
Subject = "User Token Meeting123"
};
var meeting = await graphServiceClient.Users["{userId}"].OnlineMeetings
.Request()
.AddAsync(onlineMeeting);
我正试图使用Maven在Eclipse中创建一个Vaadin应用程序,但无法这样做。官方说明(https://vaadin.com/wiki/-/wiki/main/creating%20an%20Eclipse%20project)说要在Eclipse中创建一个新的Maven项目,在原型列表中创建“”vaadin-archetype-application“,我看不到这种类型的东西,然后,我添加
我目前正在试验托管。NET CoreCLR在C应用程序中基本上实现某种插件系统。 我使用corerun源代码作为基础,开始并探索如何构建本机主机—其他教程/文档通常以某种方式失败 最后我让它工作了,我可以初始化运行库,创建AppDomain并执行.NET Core程序集。 我的下一步是运行多个程序集,因此我只是创建了第二个测试程序集,并尝试以与第一个测试程序集相同的方式执行它。 实际上,我的应用程
问题内容: 我收到此错误“无法在未调用Looper.prepare()的线程内创建处理程序” 你能告诉我如何解决吗? StartPayment方法: 问题答案: 您应该知道,当您尝试修改UI时, 唯一 可以执行此操作的线程是。 因此,如果要在另一个线程中修改UI,请尝试使用以下方法: 您的代码应如下所示:
我想创建反应应用程序,但我的npx创建反应应用程序myapp命令不工作D:\AED 在D:\AED\aed中创建新的React应用。 安装包。这可能需要几分钟。使用cra模板安装反应、反应-多姆和反应-脚本... 它被困在这里已经两个小时了。
我正在尝试使用create react应用程序创建新应用程序 下面是错误<请帮忙。提前谢谢 CLI上的错误映像