使用Stata的georoute包调用HERE API时凭证错误问题求助
解决Stata
georoute 包HERE API凭证错误问题 问题说明
用Stata的georoute包调用HERE API计算通勤时间时,运行以下代码一直报凭证错误:
global apikey [THE KEY] georoutei, herekey($apikey) startxy(Lon Lat) endxy(_CX _CY) tmode(pedestrian)
这是因为HERE Developer已全面迁移至HERE Platform,旧的密钥生成逻辑和API调用规则发生了变化,直接使用HERE Platform的REST密钥无法适配georoute包的原有调用逻辑。
解决步骤
1. 生成HERE Platform的正确密钥
- 登录HERE Platform控制台,新建项目时选择Location Services类型(必须包含路线规划相关服务权限)
- 进入项目的「Credentials」页面,生成API Key类型的密钥(注意不要选REST密钥)
- 确认密钥已关联
Routing API服务权限(密钥详情页可查看,未添加的话手动补充)
2. 先验证密钥有效性
- 用浏览器直接调用HERE Routing API测试密钥:
返回正常的路线JSON数据则说明密钥有效;若报错,回去检查服务权限是否配置正确。https://router.hereapi.com/v8/routes?transportMode=pedestrian&origin=[你的起始经纬度,比如52.5200,13.4050]&destination=[你的终点经纬度]&apiKey=[刚生成的密钥]
3. 适配Stata georoute包的调用参数
- 旧版本
georoute可能未适配HERE Platform的新API端点,尝试添加api(v8)参数:
若包不支持该参数,先更新到最新版本:georoutei, herekey($apikey) startxy(Lon Lat) endxy(_CX _CY) tmode(pedestrian) api(v8)ssc install georoute, replace
4. 排查账号权限问题
- 确保你的Freemium账号已激活,并填写了有效的支付信息(即使使用免费额度,也需完成支付信息验证)
- 前往HERE Platform的「Billing」页面查看额度使用情况,确认未超出免费限额或存在账号限制
内容的提问来源于stack exchange,提问作者cvl
相关产品推荐
相关产品推荐

