总结:坑坑坑坑坑坑坑坑坑
1、微信小程序获取二维码接口有三个
如图,第一个是生成的普通二维码,第二个和第三个是小程序码,详情请看链接
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/createWXAQRCode.html
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACode.html
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACodeUnlimit.html
但是这3个API太难用,参数和返回值说明都是一笔带过,不够详细,还容易误导人思维。
能看到这个错误,证明你有自己的一套调用接口的方法,就不细说acctoken的获取问题了,
下面就来说说这个47001问题。
2、首先测试了第一个
createWXAQRCode接口,后端是nodejs,使用的request模块
接口url:
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
post提交,这个没什么问题一下就成功了!
参数截图
这是获取的二维码,是智能聊天小程序页面,使用websocket,刚开始对接的是腾讯ai机器人,用了一段时间
发现腾讯的ai机器人太傻,后来改成图灵机器人了。
3、然后测试第二个接口
接口url:
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
掉坑里半天起不来。。
参数和上一个接口类似,多了几个字段。
结果返回47001这个错误
一脸懵逼,看这个字面意思是数据格式化错误,但是JSON.stringify后的数据肯定不会存在JSON格式错误问题,
各种调试了半天,还是没解决,又试了第三个接口,
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
依然是47001,折腾了好久还是没解决,后来去社区翻了好多类似的问题,才发现后面2个
接口post的数据居然不能传access_token这个参数,三个接口API文档极其类似,这就是导致本文
出现问题的原因。被误导了。。最终去掉access_token参数就好了。还要注意后面2个接口参数之一
是page不是path。
最终传参截图:
下面是最后获取的微信小程序码,同时也希望遇到同样问题的朋友能看到这里。