使用Microsoft Graph v1.0 SDK创建OnlineMeeting时遇到禁止403错误

问题描述 投票:0回答:1

我正在尝试创建在线会议以使用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;
c# api azure-ad-graph-api microsoft-teams
1个回答
0
投票
Create onlineMeeting仅需要OnlineMeetings.ReadWrite

Delegated权限。

因此,它需要用户+应用程序授权,而不是仅应用程序授权。

在这种情况下,您正在使用Client credentials provider,这意味着仅应用程序授权。

您应该使用Authorization code provider获取访问令牌,其中将包括OnlineMeetings.ReadWrite

Delegated

权限。
© www.soinside.com 2019 - 2024. All rights reserved.