[英]Getting “ErrorAccessDenied” while trying to query for a user's office365 profile photo using Microsoft Graph API v1.0
[英]Getting Forbidden 403 error while creating OnlineMeeting using Microsoft Graph v1.0 SDK
我正在尝试创建在线会议以使用 Graph SDK 从 Microsoft Team Meeting 获取 joinurl,但即使在我向“OnlineMeetings.Read.All”提供了应用程序(经管理员同意)和委派权限后,我仍然收到禁止 (403) 错误, “OnlineMeetings.Read”、“OnlineMeetings.ReadWrite.All”、“OnlineMeetings.ReadWrite”。
请查看下面我的代码,让我知道我做错了什么,或者我是否需要提供任何其他权限。
下面是我的代码:
string[] graphScopes = { "OnlineMeetings.Read.All", "OnlineMeetings.Read",
"OnlineMeetings.ReadWrite.All", "OnlineMeetings.ReadWrite" };
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create("55e5f6cf-****-****-****-4f23d6e****")
.WithTenantId("****b9d4-4dbf-****-888f-21d*563b****")
.WithClientSecret("********************************")
.Build();
ClientCredentialProvider authenticationProvider = new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphClient = new GraphServiceClient(authenticationProvider);
var onlineMeeting = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2020-01-15T21:30:34.2444915+05:30"),
EndDateTime = DateTimeOffset.Parse("2020-01-15T22:00:34.2464912+05:30"),
Subject = "User Token Meeting"
};
var meeting = graphClient.Me.OnlineMeetings
.Request()
.AddAsync(onlineMeeting).Result;
创建onlineMeeting只需要OnlineMeetings.ReadWrite
委托权限。
所以它需要用户+应用授权而不是仅应用授权。
在这种情况下,您使用的是客户端凭据提供程序,这意味着仅应用授权。
您应该使用授权代码提供程序来获取访问令牌,其中将包括OnlineMeetings.ReadWrite
委托权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.