APS简单查看器2-legged认证出现Auth-001错误,请求排查
排查APS 2-legged Auth中Auth-001错误(client无API产品权限)
以下是针对你遇到的问题的排查方向,重点聚焦你提到的getAccessToken()额外代码逻辑:
确认应用的API产品权限配置
即便client_id正确,也需检查APS开发者控制台中你的应用是否启用了Viewer场景必需的API产品:Viewers和Data Management,且确保是在2-legged认证的配置项中勾选,而非3-legged认证的配置。检查token请求的scope参数
额外代码逻辑可能错误设置了scope值。Viewer场景的正确scope应为data:read viewables:read,注意用空格分隔多个scope,避免添加未授权的scope或格式错误。排查
getAccessToken()的额外逻辑问题
对比官方示例代码,重点检查以下可能的错误:- 参数名是否写错:比如将
client_id写成clientId,client_secret写成clientSecret,APS的token端点只接受蛇形命名的参数 - 请求头是否冗余:是否错误添加了额外的
Authorization头或其他不符合要求的字段,APS的2-legged token请求只需要Content-Type: application/x-www-form-urlencoded - 参数编码是否错误:是否对scope中的空格进行了不必要的转义(比如转成
%20),虽然APS支持,但官方示例直接用空格,可避免编码问题 - 请求端点是否正确:确认请求的是
https://developer.api.autodesk.com/authentication/v1/authenticate,不要写错域名或路径
- 参数名是否写错:比如将
用curl验证请求有效性
直接用curl发起token请求,排除代码逻辑干扰:curl -X POST "https://developer.api.autodesk.com/authentication/v1/authenticate" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "client_id=你的ClientID&client_secret=你的ClientSecret&grant_type=client_credentials&scope=data:read viewables:read"如果curl请求成功,说明问题完全出在你的
getAccessToken()额外逻辑中,逐行对比官方示例,找出差异点即可修复。
内容的提问来源于stack exchange,提问作者Austin Guter
相关产品推荐
相关产品推荐

