概述
通过微信官方提供的接口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 ])
1
2
解决
最后发现,当使用同一个code,去第二次获取openid时,会出现如上报错。
可以走一层缓存,在redis中保存一个key为:“open:wechat:code:xxx”的值。当使用code获取openid时,先检查一下redis中是否已经有这个值了,如果有,就直接用。没有的话,再去调用微信接口获取。
注意如果使用redis 作为缓存 请注意redis的key别重复,

总结
使用缓存,避免一个code使用两次,来避免code been used异常
.net/limenghua9112/article/details/81911658

微信获取openid出现40163相关推荐

  1. 简单的实现微信获取openid

    微信公众平台获取openid在公众号的开发中有很多用途,前段时间为实现用户使用公众号在登录一次以后可以免密登陆而使用了openid.开发过程中遇到了一些问题,在这里向需要且还没有获取到openid的米 ...

  2. 微信获取openID以及token

    微信的openID和token是唯一的身份标识.非常重要,其中token的有效期只有两个小时(官方可能修改). 获取openID事例: 官方文档 1 第一步:用户同意授权,获取code https:/ ...

  3. vue 微信(企业微信)获取openId

    项目背景: 一个H5活动页,获取企业微信的用户openId,然后通过openId调用接口判断用户是否是第一次登陆,第一登陆跳转index,不是第一次调转about. 开发: 参考很多博客,用了中转页面 ...

  4. 微信获取openid方法

    绑定appId 配置API key 生成证书 设置支付授权目录 设置授权域名(获取openid的域名) openid:openid是微信用户在appid下的唯一用户标识(appid不同,则获取到的op ...

  5. 「前端」微信获取openId,静默授权与非静默授权

    首先了解一下静默与非静默授权的区别 静默授权「snsapi_base」 以 snsapi_base 为 scope 发起的网页授权,不用用户手动授权,跳转授权回到回调页面,只能获取用户openId 非 ...

  6. php 40163,微信支付授权获取 openId {errcode:40163,errmsg:code been used, hints: [ req_id: scqL1a02482017...

    微信支付授权获取用户openId时候,返回40163,原因: 微信支付获取用户openid时,报出错误.原因是同时配置了http和https,微信网页oauth认证通知了两次 删除apache配置文件 ...

  7. java微信获取openId和sessionKey

    流程如下: 小程序端调用由微信提供的wx.login()方法,获取登录凭证(code) 获取到code之后,到服务端换取openId以及sessionKey,服务端此时需要发送请求到微信,用code换 ...

  8. 微信获取openId

    router.beforeEach(function(to, from, next){//中间页等待跳转if(to.meta.requireCheck=="WaitLogin"){ ...

  9. H5在微信中获取openid

    H5在微信中获取openid 为什么要获取openid openId是用户在当前公众号下的唯一标识('身份证').在微信中进行微信分享.支付等操作时需要用户的openid.H5要在微信中获取到用户op ...

  10. Uniapp 接入微信H5登录,并获取openid和unionid 含Sql、PHP完整代码

    Uniapp 接入微信H5登录,并获取openid和unionid 实现目标:通过微信H5接入微信获取openid和unionid.用户头像,以及实现登录. 实现目标,如图: 具体实现 MySQL代码 ...

最新文章

  1. 李彦宏称AI可让人们获得永生
  2. redis 日志重写BGREWRITEAOF及混合日志的保存形式
  3. Testng 测试框架源码阅读(二)
  4. LLVM4更新--简化对象定义
  5. dnslog盲注原理
  6. leetcode109. 有序链表转换二叉搜索树(深度优先搜索/快慢指针)
  7. android api接口文档,API 接口文档
  8. linux卸载时提示未安装,Ubuntu 安装卸载软件命令,及出现没有可用软件包提示时的处理办法...
  9. java hbase 例子,java操作hbase例子
  10. 大数据集合求交集_还记得学生时代数学老师教的“集合”吗?
  11. 自己定义图片的progressbar
  12. 2016考试计算机知识基础题库,2016考试计算机基础知识题库.pdf
  13. 小白学习meshlab(1)——基本的edit工具学习
  14. 用3DSMAX制作室内效果图的九大步骤
  15. 离线百度地图,添加按钮点击切换卫星地图和街道地图(纯JS)
  16. 一亿条数据的排序处理
  17. SEO到了岌岌可危的时刻吗?
  18. 移动信息中心号码,移动短信中心号码速查
  19. 数据结构c语言进制转换八进制,C语言数据结构中数制转换实例代码
  20. git push提交成功后如何撤销回退

热门文章

  1. PRCV2018美图短视频实时分类挑战赛落幕,第一名解决方案技术解读
  2. 微信小程序统计图表插件wxcharts的使用汇总
  3. open SUSE 查看本机ip地址
  4. 双目立体相机的基线如何求?
  5. Excel公式中的LookUp三剑客(可以取代Vlookup的神秘公式)
  6. 微信公众号-网页内实现微信支付
  7. 奥斯汀页眉怎么设置_wps怎么只删除本页的页眉_Word页眉的设置和删除,这些问题你有遇到过吗?...
  8. 【附Python版教学】“那些年用过的奇葩辞职理由”哈哈哈,看完笑掉牙。
  9. 决策树---使用三种方法对数据建立决策树
  10. ubuntu上打开md文件_Ubuntu 使用教程.md