API:从我的应用程序获取授权代码到 Alexa 应用程序(浏览器)的范围错误
使用以下 URL(范围:个人资料)可以正常工作,从亚马逊获取授权码。
https://www.amazon.com/ap/oa?client_id=[ClientID]&scope=profile&response_type=code&redirect_uri=<redirectURL>&state=<state>
使用具有以下 URL 的 scope alexa::skills:account_linking 时无法工作
https://www.amazon.com/ap/oa?client_id=[ClientID]&scope=alexa::skills:account_linking&response_type=code&redirect_uri=<redirectURL>&state=<state>
错误信息:
{"error_description":"请求了未知范围","state":"","error":"invalid_scope"}
在技能中,在帐户链接上添加了此 (alexa::skills:account_linking) 范围。
当您的应用尝试接收授权代码以与 Alexa 技能链接时,您会遇到范围错误
alexa::skills:account_linking
。
错误消息“请求了未知的范围”表示授权服务器可能无法识别或支持您正在使用的范围。这可能是由于多种因素造成的,包括错误的范围名称、错误的配置或权限不足。
故障排除和解决问题的一些技巧:
检查范围名称:确保范围名称正确并且与 Alexa 帐户连接支持的范围相对应。 Alexa 账户关联通常使用格式
alexa::.skills:account_linking
.
帐户链接配置:确保您的 Alexa 技能已设置为帐户链接,并且在 Alexa 开发者控制台中启用了相关权限和范围。确保帐户链接设置包括正确的 OAuth 2.0 授权端点和范围。
授权服务器配置:验证您的 OAuth 2.0 授权服务器是否识别并支持
alexa::skills:account_linking
范围。某些授权服务器可能需要额外的设置来支持特定范围。
使用其他作用域进行测试:要进行调试,请尝试已知可与 Alexa 帐户关联操作的其他作用域,例如
profile
,看看是否可以成功接收授权码。这可以帮助确定问题是否仅限于 alexa::skills:account_linking
范围还是授权流程的更大问题。