获取 Microsoft Graph API 的访问令牌
Getting the access token for Microsoft Graph API
我正在尝试获取 Microsoft Graph API 的访问令牌,以便访问 SharePoint 文档库。我的应用程序是 windows 服务,因此我遵循 here.
中描述的过程
但是当我尝试获取访问令牌时,我得到的响应没有 scope 值。以下是我的回复:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on":"1492452559",
"not_before": "1492448659",
"resource": "https://graph.microsoft.com",
"access_token": "Token"
}
因此,当我尝试使用此访问令牌查询图表 API 时,我收到一条错误消息:令牌中需要包含 scp 或角色声明
有人可以帮我解决这个问题吗?提前致谢。
您的客户端应用程序似乎在使用客户端凭据流时未设置适当的应用程序权限,下面是 Azure AD 经典门户中应用程序权限部分的图示。请 select 需要适当的权限并重试:
此外,当使用客户端凭证流获取访问令牌时,您可以检查访问令牌中的 roles
声明(这是检查应用程序权限的方式,而不是在令牌响应中),使用 http://jwt.calebb.net/ 之类的工具解码访问令牌并检查应用程序权限:
我正在尝试获取 Microsoft Graph API 的访问令牌,以便访问 SharePoint 文档库。我的应用程序是 windows 服务,因此我遵循 here.
中描述的过程但是当我尝试获取访问令牌时,我得到的响应没有 scope 值。以下是我的回复:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on":"1492452559",
"not_before": "1492448659",
"resource": "https://graph.microsoft.com",
"access_token": "Token"
}
因此,当我尝试使用此访问令牌查询图表 API 时,我收到一条错误消息:令牌中需要包含 scp 或角色声明
有人可以帮我解决这个问题吗?提前致谢。
您的客户端应用程序似乎在使用客户端凭据流时未设置适当的应用程序权限,下面是 Azure AD 经典门户中应用程序权限部分的图示。请 select 需要适当的权限并重试:
此外,当使用客户端凭证流获取访问令牌时,您可以检查访问令牌中的 roles
声明(这是检查应用程序权限的方式,而不是在令牌响应中),使用 http://jwt.calebb.net/ 之类的工具解码访问令牌并检查应用程序权限: