调用Uber API时添加profile/request scope出现invalid_scope错误求助
解决Uber API获取profile/request_rides权限的问题
1. 确认有效权限范围名称
首先检查你使用的scope名称是否符合Uber最新API规范:
- 原
profile权限当前对应profile:read - 叫车相关权限统一为
request:write(替代旧的request_rides/request)
使用过时的scope名称会直接触发invalid_scope错误。
2. 申请受限权限审核
Uber的用户信息、叫车类权限(如profile:read、request:write)属于受限权限,无法直接通过普通应用获取:
- 登录Uber开发者后台,找到你的应用
- 进入「Permissions」页面,勾选需要的权限(Profile、Request Ride等)
- 提交权限申请,详细填写应用用途、业务场景等信息,等待Uber官方审核通过
- 只有审核通过后,这些scope才会被允许在授权流程中使用
3. 修正授权流程的scope参数
审核通过后,在AuthorizationCodeGrant授权请求中使用正确的scope列表:
scope=profile:read request:write offline_access
注意多个scope用空格分隔,确保请求的scope与你申请通过的完全一致。
4. 重新获取授权码与Access Token
之前获取的Access Token仅包含offline_access,是因为授权阶段未成功申请到其他权限:
- 引导用户重新走授权流程,确认Uber授权页显示的权限列表包含你需要的profile和叫车权限
- 完成授权后,检查POST请求返回的
scope字段,确认已包含目标权限 - 使用新的Access Token调用
get_user_profile()接口,验证返回结果
5. 排查其他潜在问题
- 确认应用处于「已激活(Active)」状态,测试状态无法使用受限权限
- 检查授权请求的
redirect_uri与开发者后台配置完全一致,包括协议、域名、路径 - 确保Access Token未过期,且请求时使用正确的
Bearer认证格式
内容的提问来源于stack exchange,提问作者Vaneseaa
相关产品推荐
相关产品推荐

