概述

通过微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,获取openid,结果获取不到。

报错代码
WechatUserInfo(accessToken=null, expiresIn=null, refreshToken=null, openid=null
, scope=nul l, errcode=40163, errmsg=code been used, hints: [ req_id:
X6qVLa09602017 ])
解决

最后发现,当使用同一个code,去第二次获取openid时,会出现如上报错。

可以走一层缓存,在redis中保存一个key为:“open:wechat:code:xxx”的值。当使用code获取openid时,先检查一下redis中是否已经有这个值了,如果有,就直接用。没有的话,再去调用微信接口获取。

总结

使用缓存,避免一个code使用两次,来避免code been used异常

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信