You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Beam滑板车API获取位置时遇Unauthorized及curl(23)错误求助

问题排查与解决方案

1. 「Unauthorized」错误的修复方向

返回Unauthorized核心是认证环节失效,从这几个维度排查:

  • Authorization头格式错误:绝大多数API要求认证前缀(比如Bearer),你当前直接传入access code,尝试修改头为:
    --header 'Authorization: Bearer <你的access code>'
    
  • Access Code有效性问题:确认access code是否过期、是否包含车辆位置查询权限,或是获取流程是否完整(比如是否完成了OAuth2的token交换,而非仅拿到授权码)。
  • User-Agent不规范:API可能校验客户端版本,把latest-app-version替换为真实版本号(比如常见的2.100.0),修改后:
    --header 'User-Agent: escooterapp/2.100.0; ios'
    

2. 「Failed writing body」错误的修复

这个错误是因为URL里的未编码JSON被curl解析成了命令分隔符,导致请求被拆分,两种解决方式:

方式一:URL编码JSON参数

把JSON字符串做URL编码后再拼接,比如{"latitude":12.34,"longitude":56.78}编码后变为%7B%22latitude%22%3A12.34%2C%22longitude%22%3A56.78%7D,请求示例:

curl --request GET \
--url 'https://gateway.ridebeam.com/api/vehicles/getForH3/rider/detail/%7B%22latitude%22%3A12.34%2C%22longitude%22%3A56.78%7D' \
--header 'User-Agent: escooterapp/2.100.0; ios' \
--header 'Authorization: Bearer <你的access code>' | jq

方式二:用query参数传递坐标(更规范)

如果API支持,优先通过query参数传经纬度,避免路径拼接的编码问题:

curl --request GET \
--url 'https://gateway.ridebeam.com/api/vehicles/getForH3/rider/detail?latitude=12.34&longitude=56.78' \
--header 'User-Agent: escooterapp/2.100.0; ios' \
--header 'Authorization: Bearer <你的access code>' | jq

额外排查点

确认API端点要求:getForH3接口可能需要传递H3网格ID而非直接经纬度,部分滑板车API用H3网格划分区域,你可能误解了参数要求,需先将经纬度转换为H3索引再传递。

内容的提问来源于stack exchange,提问作者crust

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 13:09:27