从老项目里迁移腾讯地图服务(WebServiceAPI)到新项目,用到一个地址解析服务(即将地址明细转成 GPS 坐标),结果报错:

{
    "status": 111,
    "message": "签名验证失败,解决方法见:https://lbs.qq.com/faq/serverFaq/webServiceKey"
}

看了一下报错提示的文档,里面没提到 111 这个错误类型,110 和 112 都提到了,但都不是我这个问题。

111 就是指签名算错了,跟官方计算结果不一致。

由于代码是从老项目迁移过来的,老项目没问题,那肯定是迁移的时候有什么东西改错了。

检查了一下,发现是迁移的时候,老项目是写死的 key 和 sk,新项目里改成了从环境变量获取,结果获取 sk 的方法写成了获取 key 的。

修改后问题解决。

记录一下,发现 111 错误,就要检查签名计算。


项目发布到线上后,发现还是解析不出来,检查日志发现报错:

{
    "status": 121, 
    "message": "此key每日调用量已达到上限" 
}

很奇怪,明明还没有开始用,就已经触发上限了。。。

登录腾讯地图后台,发现原来需要给 key 分配额度(以前貌似不需要,不知道什么时候开始默认强制给调用的 key 分配额度了,也就是账户下不同的应用分开计算调用次数):

2023-11-12T18:44:49.png

分配后如图:

2023-11-12T18:48:50.png

再次调用,问题解决。


PS:企业认证后,调用的额度大大提升。不过我的应用调用少,暂时先不认证了。

标签: 腾讯地图, WebServiceAPI