相信各位在其他地方看过一些解决方案,不外乎就是检查格式是否正确之类的。
但是实际上,是微信给的接口文档并没有说清楚。
由此接口说明可以看见,请求地址上也带access_token,参数里也带access_token。
但实际上,只需要请求地址后面带个access_token就够了,若参数也带access_token,就会报47001.
如果出现此bug的小伙伴,把自己参数里面的access_token去掉即可。
@ApiOperation(value = "获取小程序二维码")
@PostMapping("/getUnlimited.htm")
public ResultBean getUnlimited(
@ApiParam(name = "caseCode", value = "唯一标识编码", required = true) @RequestParam(value = "caseCode") String caseCode
) {
com.alibaba.fastjson.JSONObject obj = new com.alibaba.fastjson.JSONObject();
String access_token = getAccessToken().optString("accessToken");
// obj.put("access_token" , access_token);
obj.put("scene" , caseCode);
LOG.info("获取小程序二维码, https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + access_token +"===>"+ obj.toJSONString());
String res = HttpClient.sendPostByJson("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + access_token , obj.toJSONString());
LOG.info("获取小程序二维码结果, result:"+res);
return new ResultBean(res);
}
本文介绍了微信小程序二维码获取时遇到的47001 data format error问题,分析了错误原因在于请求接口时参数中重复包含了access_token。解决方案是确保仅在请求地址中携带access_token,移除参数中的access_token,以此避免错误。
4304

被折叠的 条评论
为什么被折叠?



