我在代码中使用GraphServiceClient来访问数据的多个端点。
我有一个GraphServiceClient(具有委派权限),具有以下范围:Group.Read.All
。
我还有一个GraphServiceClient(具有应用程序权限),具有以下范围:User.Read.All, Mail.Read
。
我首先与第一个客户获得了一个组ID,在这里没有问题。然后,在以下代码中使用组ID:
var users = await client
.Groups[id]
.Members
.Request()
.GetAsync();
现在我在第二个客户端上需要以下作用域Application - User.Read.All
,但是当我使用此客户端获取该组的成员时,它会显示以下消息:
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
是的,权限是由AD中的管理员授予的,我使用的是“ graphresource” /。default范围(仅用于获取列表用户)。
我是否还需要Directory.Read.All
(目前无法测试)还是缺少其他内容?
答案 0 :(得分:0)
由于您已经拥有User.Read.All
权限。 Group.Read.All
的应用程序权限足以使您的第二个客户获得该组的成员。