我正在开发一个 Sharepoint 应用程序。对于我的应用程序,我必须使用 Microsoft 图形端点从 Azure AD 获取我的详细信息。我已经使用/token
端点和client_credentials
授权类型生成了访问令牌。当我将响应中收到的令牌与图形/users
端点一起使用时,我收到一个未经授权的错误,如下图所示:
在 Azure 门户上,所有权限都授予 microsoft graph API。是否缺少任何配置?我该如何解决这个未经授权的错误?
我正在开发一个 Sharepoint 应用程序。对于我的应用程序,我必须使用 Microsoft 图形端点从 Azure AD 获取我的详细信息。我已经使用/token
端点和client_credentials
授权类型生成了访问令牌。当我将响应中收到的令牌与图形/users
端点一起使用时,我收到一个未经授权的错误,如下图所示:
在 Azure 门户上,所有权限都授予 microsoft graph API。是否缺少任何配置?我该如何解决这个未经授权的错误?
没有用 v2.0 端点测试,如果可以使用 v1.0 端点,您可以参考步骤。
1.导航到Azure Active Directory
门户中的-> App registrations
-> New application registration
,更多详细信息请参见此链接。
2.进入AD App -> Keys
-> 为AD App生成key,复制key值。
3.然后转到Required permissions
-> Add
-> 选择 -> 中的and ,Microsoft Graph
注意 不要忘记单击按钮。Read all users' full profiles
APPLICATION PERMISSIONS
Save
Grant permissions
4.我在postman中测试,具体的body是我们需要得到的access_token
,
client_id
是Application ID
AD App的,client_secret
是key vaule
你复制的,grant_type
是client_credentials
,resource
是https://graph.microsoft.com/
。
样本:
POST https://login.microsoftonline.com/<Tenant ID>/oauth2/token?api-version=1.0
5.使用access_token
调用MS Graph API,在我的示例中,我调用了List users
api,它工作正常。
我认为您在令牌中缺少使用“用户”端点的正确范围。可能的范围是:
有关更多详细信息,请查看此处