调用Uber API获取打车报价时遭遇401错误求助
解决Uber API价格估算接口返回401认证错误的问题
看起来你的核心问题出在请求头的认证格式错误,这是导致401 Unauthorized错误的最直接原因。咱们一步步来排查和修复:
1. 修正Authorization请求头的格式
Uber API使用Server Token认证时,要求的格式是Token [你的Server Token],但你的代码里错误地拼接了一段无关的字符串(KA.ey...),这直接导致认证失败。
把uber.js里的AJAX请求头部分改成这样:
headers: { Authorization: "Token " + uberServerToken },
注意Token后面必须有一个空格,然后直接拼接你的uberServerToken变量,不要添加任何多余的前缀内容。
2. 验证Server Token的有效性
- 登录Uber开发者控制台,确认你复制的
uberServerToken完全正确,没有少字符或者多复制了其他内容; - 检查你的应用是否已经启用了Price Estimates这个API权限(在控制台的API选项卡下查看,确保该端点处于启用状态)。
3. 额外检查:跨域配置(避免后续干扰)
如果你是在本地环境(比如http://localhost)测试,需要在Uber开发者控制台的应用设置里,把你的本地域名添加到Allowed Origins列表中,防止CORS错误影响请求的正常发送(虽然这不是当前401的原因,但会影响后续请求)。
另外提个小细节:你代码里的聚会坐标(partyLatitude = 19.3256725, partyLongitude = -43.1579731)是巴西的位置,但页面里的地图显示的是纽约Thinkful HQ的坐标,后续如果要展示正确的价格,记得把聚会坐标改成正确的纽约坐标哦~
内容的提问来源于stack exchange,提问作者Pablo Abreu
相关产品推荐
相关产品推荐

