首页 > 解决方案 > Graph Api 读取电子邮件的权限

问题描述

我有以下 c# 代码。我正在尝试按照以下链接使用图形 api 阅读电子邮件以换取 365

使用 MS Graph API C# 读取用户电子邮件

 IConfidentialClientApplication cca = ConfidentialClientApplicationBuilder
                  .Create("myAppId")
                  .WithTenantId("myTenantId")
                  .WithClientSecret("myClientSecret")
                  .Build();
            ClientCredentialProvider ccp = new ClientCredentialProvider(cca);
            GraphServiceClient client = new GraphServiceClient(ccp);

  var users = await client.Users.Request()
                             .GetAsync();

我执行它并收到以下错误:

Microsoft.Graph.ServiceException:'代码:Authorization_RequestDenied 消息:权限不足,无法完成操作。

根据屏幕截图,我已授予 mail.read 和 user.read 权限。 在此处输入图像描述

在此处输入图像描述

有什么建议吗?

谢谢。

标签: c#.net-coremicrosoft-graph-apiazure-ad-graph-api

解决方案


如您的代码所示,您使用使用应用程序权限的客户端凭据流

如果要用于var users = await client.Users.Request().GetAsync();列出用户,则需要设置其中一项应用权限。

在此处输入图像描述


推荐阅读