1. 异常解析
getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json
app.json中没配置requiredPrivateInfos参数,按下边示例代码配置即可。
2. 示例代码
{
...
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于推荐当前城市可以购买的商品"
}
},
"requiredPrivateInfos": [
"getLocation"
],
...
}
注:permission、requiredPrivateInfos两个参数都要配置才可以。
获取定位api有调整,2022年7月14日后发布的小程序,都需要配置requiredPrivateInfos,而且需要申请接口权限,官方文档详见:全局配置 | 微信开放文档 (qq.com)。
3. 后记
之前一直没留意过这个调整,因为以前用的也不多,只知道有permission这个配置,直到今天才注意到这个 requiredPrivateInfos 配置的调整。
只有点击进入这个不明显的“具体规则见公告”页面,才能看到地理位置接口新增与相关流程调整 | 微信开放社区 (qq.com)。
这个也太不明显了,如果不经常用这个api,不知道这个调整的,那大部分都会认为这个配置是permission里边的配置吧,应该很少会有人再点进这个不明显的公告里边去吧?
反正我之前是没注意,直到出了异常,而且上个月都没报这个错误,就这个月突然出现了。
所以,深切怀疑腾讯是流水线模式,有些方面就是各顾各的,也就造成了不同步的情况。