使用Microsoft Partner Center Price Sheet API遇AADSTS65001授权错误求助
解决AADSTS65001错误:调用Price Sheet API获取access_token失败
错误原因
AADSTS65001是明确的权限未授权错误——你的应用尚未获得调用Price Sheet API的权限,或者用户/管理员还未完成权限同意操作。
具体解决步骤
配置正确的API权限
- 登录Azure门户,找到你的应用注册
- 进入「API权限」页面,点击「添加权限」,找到Cost Management API(Price Sheet属于该API范畴)
- 根据认证场景选择权限类型:
- 若使用用户上下文的refresh_token:添加Delegated权限(例如
CostManagement.Read) - 若使用应用自身身份:添加Application权限(例如
CostManagement.Read.All)
- 若使用用户上下文的refresh_token:添加Delegated权限(例如
完成权限同意流程
- 对于Delegated权限:必须让用户通过交互式登录完成授权。构造授权URL让用户访问登录,示例:
用户登录并授权后,重新获取的refresh_token就能正常换取access_token。https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/authorize?client_id={你的应用ID}&response_type=code&redirect_uri={你的重定向URI}&scope=https://management.azure.com/CostManagement.Read&response_mode=query - 对于Application权限:在「API权限」页面点击「授予管理员同意」,完成租户级别的权限授权(需管理员权限操作)。
- 对于Delegated权限:必须让用户通过交互式登录完成授权。构造授权URL让用户访问登录,示例:
刷新refresh_token
如果你的refresh_token是在权限同意之前生成的,它不包含新的权限范围,需要重新通过授权流程获取新的refresh_token。确认请求scope正确性
调用token接口换取access_token时,确保请求的scope参数包含Price Sheet API的正确资源路径,比如https://management.azure.com/CostManagement.Read或者https://management.azure.com/.default(应用权限场景)。
内容的提问来源于stack exchange,提问作者Godfred Boateng
相关产品推荐
相关产品推荐

