备注:wxacode.getUnlimited是服务端调用,我其实是利用postman测试的
我是通过wxacode.getUnlimited生成小程序码,官方文档说可以通过HTTPS请求,如下
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
access_token 官网也有api 获取
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
拿到access_token之后,你通过POST接口获取小程序码,发现第一次就报40001,这真的就很神奇
我是第一次获取access_token,我是第一次获取access_token,我是第一次获取access_token
重要的事情说三遍 ,因为APPSECRET也是为了access_token找管理员生成的,不存在其他地方已经获取了access_token
然后第一次失败后,我就想重新获取一个access_token,于是就重复调用下面的方法获取
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
麻蛋,然后就是一直都报40001,一直不停的循环获取,一直报40001
后来我停止,决定等两小时,即access_token的有效期过后,再试试
下午 休息了两个多小时后,决定在重新获取access_token
你猜怎么怎么着 40001!!
妈了个蛋,明明过了两个小时,怎么还是无效
于是,我想 要不不重新获取access_token,刚刚不是已经拿到access_token了吗,第一次报40001
我拿这个access_token再试一次post请求获取二维码
于是乎 图片就出来了,坑爹啊,后面又继续用这个access_token继续获取获取二维码,一直都是成功的
也就是只有第一次是失败了
哎 这个坑太流氓了。。。。。。。。。。。
记住
如果access_token拿到之后,调用其他api,第一次报错了,不要重新获取新access_token,不要重新获取新access_token,
不要重新获取新access_token
直接用access_token继续重试第二遍
这就是为什么官方推荐做缓存了,后端获取access_token后,保存在缓存中,然后定时更新,过了有效期重新获取新token
网友评论