我正在尝试使用Microsoft Graph API做一些我认为应该很简单的事情。
首先,我要做的就是获取组织中所有用户的列表。
要安装Microsoft Graph SDK,请按以下示例操作:
https://docs.microsoft.com/zh-cn/graph/sdks/sdk-installation
我正在使用客户端凭据提供程序连接到MS Graph,如下所示:
https://docs.microsoft.com/zh-cn/graph/sdks/choose-authentication-providers?tabs=CS
然后列出来自我的使用C#示例的用户,如下所示:
https://docs.microsoft.com/zh-cn/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'不存在,或者其查询的参考属性对象之一不存在。内部错误:AdditionalData:请求ID:aedf34aa-f548-474e-82g6-956bae321088 ClientRequestId:aklf34aa-f5r9-474e-82c4-956bae325288
组织:
“ /”应用程序中的服务器错误。
代码:Authorization_RequestDenied
消息:特权不足,无法完成操作。内部错误:AdditionalData:请求ID:9xd043m9-9b58-46dc-93d8-a183b4880fz2 ClientRequestId:9cd043c8-9b58-46hj-93d8-a183b4880fe2
用户:
“ /”应用程序中的服务器错误。
代码:Authorization_RequestDenied
消息:特权不足,无法完成操作。内部错误:AdditionalData:请求ID:2a88fd01-34aa-4841-947c-c196ce885d75 ClientRequestId:2a88fd01-34aa-4841-947c-c189ce625d75
我是Azure的新手,因此如果需要在代码中更改方法或在Azure中进行配置,我需要一些帮助。
/ me不起作用的原因很简单。您正在将API作为应用程序而不是代表用户调用。所以/ me并不代表任何东西。您必须使用/ users / {id}端点。
其他问题是由于未获得同意引起的。您需要权限,但是从屏幕截图可以看出,它们尚未被授予。您可以顺便删除“委派”权限,这些权限在没有用户的情况下作为应用调用时不适用。
看来您没有授予这些权限的特权。请管理员(全局管理员)同意您的权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句