微信小程序开发——getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json

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里边的配置吧,应该很少会有人再点进这个不明显的公告里边去吧?

反正我之前是没注意,直到出了异常,而且上个月都没报这个错误,就这个月突然出现了。

所以,深切怀疑腾讯是流水线模式,有些方面就是各顾各的,也就造成了不同步的情况。