调用 Microsoft Graph API - App only unauthorized 错误

Call Microsoft Graph API - App only unauthorized error

我正在尝试使用没有 UI 的服务向图表 API 发出请求。我下载了以下示例代码并按照说明进行操作:https://blog.kloud.com.au/2015/12/14/implementing-application-with-o365-graph-api-in-app-only-mode/

我成功获得了访问令牌,但在使用它发出获取组织信息的请求(需要读取目录数据访问权限)时,我收到 403 Unauthorized。

我已经在 Azure AD 中注册了我的应用程序(我是其中的共同管理员)。

我在 'permissions to other applications' 部分指定了 Microsoft Graph,并授予读取目录数据访问权限。

有趣的是下面有一条注释说 'You are authorized to select only delegated permissions which have personal scope'。尽管我明明做到了。为什么?我怀疑这是我问题的根源。 同样,我已经根据这些说明检查了我的演示应用程序:https://graph.microsoft.io/en-us/docs/authorization/app_only,但它没有提及您需要在 Azure 中扮演什么角色。

,提到还需要同意。我还没有找到关于此的任何文档。

You are authorized to select only delegated permissions which have personal scope

此问题是由于该应用程序是由 none 管理员创建的,当他们访问门户时会看到此消息。

要向应用程序授予仅限应用程序的权限,我们需要成为租户的管理员。这与共同管理员不同。要使用 Client Credential flow,我建议您联系租户的管理员为您创建一个应用程序。如果您只是为了测试目的,您可以创建一个免费租户并自行注册应用程序。

更新

我们需要如下图所示分配全局管理员主管角色,以使应用程序适用于客户端凭证流