获取Microsoft Graph API的访问令牌

时间:2017-04-17 17:22:03

标签: sharepoint office365 azure-active-directory office365api azure-ad-graph-api

我试图获取Microsoft Graph API的访问令牌以访问SharePoint文档库。我的应用程序是一个Windows服务,因此我遵循here描述的过程。

但是当我尝试获取访问令牌时,我得到的响应并没有范围值。以下是我的回复:

{
  "token_type": "Bearer",
  "expires_in": "3600",
  "expires_on":"1492452559",
  "not_before": "1492448659",
  "resource": "https://graph.microsoft.com",
  "access_token": "Token"
}

因此,当我尝试使用此访问令牌查询Graph API时,我收到错误消息:令牌中需要存在scp或角色声明

有人可以帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在使用客户端凭据流时,您的客户端应用程序似乎没有设置相应的应用程序权限,下面是Azure AD经典门户中应用程序权限部分的说明。请选择所需的适当权限并重试: enter image description here

此外,在使用客户端凭据流获取访问令牌时,您可以检查访问令牌中的roles声明(这是检查应用程序权限的方式,而不是在令牌响应中),使用像http://jwt.calebb.net/这样的工具来解码访问令牌并检查应用权限: enter image description here