我正在尝试创建在线会议以使用Graph SDK从Microsoft Team Meeting获取joinurl,但是即使我已经向“ OnlineMeetings.Read提供了应用程序(具有管理员同意)和委派权限,但仍收到禁止(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;
答案 0 :(得分:0)
Create onlineMeeting仅需要OnlineMeetings.ReadWrite
委派权限。
因此,它需要用户+应用程序授权,而不是仅应用程序授权。
在这种情况下,您使用的是Client credentials provider,这意味着仅应用授权。
您应该使用Authorization code provider来获取访问令牌,其中应包含OnlineMeetings.ReadWrite
Delegated 权限。