【发布时间】:2020-01-14 13:34:02
【问题描述】:
我正在尝试使用 Microsoft Graph API 做一些我认为应该相当简单的事情。
首先我想做的是获取我组织中所有用户的列表。
要安装 Microsoft Graph SDK,我按照此处的示例进行操作:
https://docs.microsoft.com/en-us/graph/sdks/sdk-installation
我正在使用客户端凭据提供程序连接到 MS Graph,如下所述:
https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=CS
然后列出我正在使用文档中的 C# 示例的用户,如下所示:
https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=csharp
所以我的代码如下所示:
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId(tenantID)
.WithClientSecret(clientSecret)
.Build();
ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var me = await graphClient.Me
.Request()
.GetAsync();
var org = await graphClient.Organization
.Request()
.GetAsync();
var users = await graphClient.Users
.Request()
.GetAsync();
错误消息
我:
“/”应用程序中的服务器错误。
代码:Request_ResourceNotFound
消息:资源“10028d9z-115c-45f9-a12b-722a4aa42c8k”不存在或其查询的引用属性对象之一不存在。 内部错误: 附加数据: 请求 ID: aedf34aa-f548-474e-82g6-956bae321088 ClientRequestId:aklf34aa-f5r9-474e-82c4-956bae325288
组织:
“/”应用程序中的服务器错误。
代码:Authorization_RequestDenied
消息:权限不足,无法完成操作。 内部错误: 附加数据: 请求 ID:9xd043m9-9b58-46dc-93d8-a183b4880fz2 ClientRequestId:9cd043c8-9b58-46hj-93d8-a183b4880fe2
用户:
“/”应用程序中的服务器错误。
代码:Authorization_RequestDenied
消息:权限不足,无法完成操作。 内部错误: 附加数据: 请求 ID:2a88fd01-34aa-4841-947c-c196ce885d75 ClientRequestId:2a88fd01-34aa-4841-947c-c189ce625d75
我是 Azure 的新手,因此我需要一些帮助来了解我是否需要更改代码中的方法,或在 Azure 中进行配置。
【问题讨论】:
-
您是否在 azure 租户上添加了
Application User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All权限? -
我已经设置了一些权限,但我不确定它们是否在正确的地方设置正确或正确我将发布一个带有权限屏幕截图的更新
-
所以你必须在你添加的 API 上允许你的
consent,你应该有global admin凭据。
标签: c# azure azure-active-directory microsoft-graph-api azure-web-app-service