Here Maps Calculate Matrix API用apiKey调用报缺少app_id/app_code错误
问题根因
- 端点选择错误:你调用的
matrix.route.api.here.com/routing/7.2/属于HERE旧版遗留路由接口,该端点仅支持app_id+app_code的传统鉴权方式,不会识别传入的apiKey参数,因此直接返回缺少app_id、app_code的报错。文档中提到的双鉴权支持是针对新版API端点的规则,不适用于该旧端点。 - 参数存在格式错误:请求中
start1的经纬度缺失分隔逗号,你填写的39.766998.49461不符合坐标格式要求,即使鉴权通过也会触发参数校验错误。
可行解决方案
方案1:使用API Key鉴权(官方推荐)
替换为支持API Key鉴权的v8版矩阵路由端点,同时适配新版参数规则,修正后请求格式如下:
https://matrix.router.hereapi.com/v8/matrix?apiKey=[替换为你的API Key]&origins=35.04672,-85.30947;39.7669,98.49461&destinations=39.10344,-94.58311;39.76691,-86.14996;29.42458,-98.49461&mode=fastest;car;traffic:disabled&return=distance
新版参数规则和旧版的差异:
- 不再使用
start0/start1这类序号式起点参数,所有起点坐标统一传入origins字段,多坐标用英文分号分隔 - 不再使用
destination0/destination1这类序号式终点参数,所有终点坐标统一传入destinations字段,多坐标用英文分号分隔 - 必须显式添加
return=distance声明返回距离字段,否则响应不会携带距离数据
方案2:沿用旧版v7.2接口
如果暂时不想适配新版参数,就放弃API Key鉴权方式,在控制台生成对应项目的app_id和app_code,替换原请求中的apiKey参数,同时修正start1的坐标格式错误,修正后请求格式如下:
https://matrix.route.api.here.com/routing/7.2/calculatematrix.json?app_id=[替换为你的app_id]&app_code=[替换为你的app_code]&start0=35.04672,-85.30947&start1=39.7669,98.49461&destination0=39.10344,-94.58311&destination1=39.76691,-86.14996&destination2=29.42458,-98.49461&mode=fastest;car;traffic:disabled
旧版v7.2接口目前仅做维护,不再新增功能,长期使用建议迁移到v8版本。
内容的提问来源于stack exchange,提问作者Baykal
相关产品推荐
相关产品推荐

