我可以合并委托的 GraphServiceClient 和应用程序 GraphServiceClient 的权限吗?

Can I merge permissions of delegated GraphServiceClient and application GraphServiceClient?

我正在尝试使用 Microsoft Graph 为我们的人员实施搜索算法。我想做的是拥有 GraphServiceClient 的 1 个(而不是 2 个)实例并使用它来查询人员。然后,如果没有搜索结果出现,我查询用户。

目前,我使用 delegated GraphServiceClient 实例来使用 people search, and I use the other application GraphServiceClient to search Users。但是当我尝试使用 delegated GraphServiceClient 来搜索用户时,它给了我一个未经授权的错误。

两者都使用在 Microsoft 中注册的相同 App ID,那么为什么我不能只有一个实例而不是有 2 个不同的实例?我已经获得管理员权限来阅读我们的用户。我只想拥有 1 个 Microsoft Graph 实例。不是 2.

编辑:这是我在尝试使用 delegated GraphServiceClient 实例查询用户时收到的错误消息:

Code: Authorization_RequestDenied\nMessage: Insufficient privileges to complete the operation.\n\nInner error\n

找到答案了。我刚刚向用户请求了 Directory.Read.All 权限,并且能够访问用户列表以执行我的搜索。

我什至不再需要应用程序权限了!