调用 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,我建议您联系租户的管理员为您创建一个应用程序。如果您只是为了测试目的,您可以创建一个免费租户并自行注册应用程序。
更新
我们需要如下图所示分配全局管理员主管角色,以使应用程序适用于客户端凭证流:
我正在尝试使用没有 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'。尽管我明明做到了。为什么?我怀疑这是我问题的根源。
You are authorized to select only delegated permissions which have personal scope
此问题是由于该应用程序是由 none 管理员创建的,当他们访问门户时会看到此消息。
要向应用程序授予仅限应用程序的权限,我们需要成为租户的管理员。这与共同管理员不同。要使用 Client Credential flow,我建议您联系租户的管理员为您创建一个应用程序。如果您只是为了测试目的,您可以创建一个免费租户并自行注册应用程序。
更新
我们需要如下图所示分配全局管理员主管角色,以使应用程序适用于客户端凭证流: