多年正常运行的Dropbox应用OAuth刷新token时突报invalid_scope错误求助
解决Dropbox OAuth刷新token时的"invalid_scope"错误
这个错误的核心原因是你的Dropbox应用属于**无范围(Non-scoped)**类型,但你在刷新token的请求里指定了具体的scope参数。Dropbox的API规则明确限制:无范围应用在刷新token时不能传递scope参数。
解决方案一:将应用转为有范围(Scoped)类型
如果你需要保留scope参数的使用,按以下步骤修改应用设置:
- 登录Dropbox开发者控制台,找到你的目标应用
- 进入「Permissions」标签页
- 在「Access type」区域,将原有的「Full Dropbox」(无范围模式)切换为「Scoped access」
- 在下方权限列表中,勾选你需要的所有权限(对应你请求里的
account_info.write、account_info.read等) - 保存设置后,需要重新生成授权码和刷新token——旧的无范围token无法适配新的有范围模式
解决方案二:移除请求中的scope参数
如果不需要切换应用类型,直接去掉刷新请求里的scope参数即可,修改后的请求示例:
POST https://api.dropbox.com/oauth2/token HTTP/1.1 Content-Type: application/x-www-form-urlencoded Host: api.dropbox.com Content-Length: 234 Expect: 100-continue refresh_token=<VALIDTOKEN>&grant_type=refresh_token&client_id=<VALIDCLIENTID>&client_secret=<VALIDSECRET>
注意:如果选择转为有范围应用,后续刷新token时传递的scope必须是应用设置中已勾选的权限,不能超出已配置范围。
内容的提问来源于stack exchange,提问作者Dan G
相关产品推荐
相关产品推荐

