说实话,微信开放平台的文档真的是狗屎一般的存在,维护不及时,混乱,每隔一段时间更新一次授权接口!着实让开发者想口吐芬芳了!文档内跳来跳去,找不到一个完整的链路!维护好几套接口文档也就这一家了!

好了,吐槽归吐槽,咱还得用人家的不是!

微信小程序获取用户openid

首先看一下文档中规划的登录流程时序图上面这一部分:

这里我们可以看到,小程序通过wx.login可以获得code,然后在通过wx.request请求我们开发者服务端接口,通过我们服务端与微信服务通信,这里面有appid,appsecret,code三个参数。

code:我们可以通过上面所说的,接口获取。appid是我们每个小程序都固定的唯一appid,在小程序后台可以获取。appsecret则可以通过微信小程序后台生成,如下图

这样看来也不复杂,难点在于开发者服务器端于微信服务端通信获取openid这一块,微信文档中点解 请求接口的路径 auth.code2Session 会报404(这就是所说的他们维护人员比较坑的地方),我这里列出了新的地址:developers.weixin.qq.com/miniprogram…

这样就可以看到他的接口文档内容了。

这里我直接贴出了我的接口代码,欢迎大家交流:

String realLoginUrl = getRealUrl(code);
logger.info("=================请求微信获取用户信息地址:{}",realLoginUrl);
String result = HttpUtils.httpsRequest(realLoginUrl, HttpUtils.GET, null);
JSONObject resJson = JSON.parseObject(result);
String errcode = resJson.getString("errcode");
if (!StringUtils.isEmpty(errcode)) {String errmsg = resJson.getString("errmsg");logger.info("微信登录异常,异常原因:{},{}", errcode, errmsg);throw new BussException("微信登录异常");
}
String openid = resJson.getString("openid");
if (StringUtils.isEmpty(openid)) {throw new ParamException("无法获取openid信息");
}
String sessionKey = resJson.getString("session_key");
ApiResult apiResult = new ApiResult();
apiResult.getData().put("openid",openid);
apiResult.getData().put("sessionKey",sessionKey);

好了这就是获取openid的完整过程!

欢迎大家留言交流,也欢迎大家关注我的 《coder练习生》

微信开放平台之小程序获取用户信息相关推荐

  1. 微信小程序获取用户信息(纯前端)

    特别说明 2022年10月25日起,小程序 wx.getUserProfile 接口将被收回. 微信官方不希望开发者直接拿用户的昵称和头像,若小程序需要设置昵称和头像,可以单独开发一个设置页,由用户手 ...

  2. 微信小程序 获取用户信息并保存登录状态

    微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml 转载于:https://www ...

  3. 微信小程序获取用户信息

    微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...

  4. 微信小程序获取用户信息-头像、昵称......

    微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 目录 微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 1.wx.getUserProfile文档 2.代码演示 3.演示过程(图示) ...

  5. 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

    微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...

  6. PHP 微信小程序获取用户信息

    小程序授权应用场景:先拿到用户信息(先wx.login获取code,code换取用户session_key,再wx.getuserInfo获取到用户的encryptedData iv ,再通过调用官方 ...

  7. 微信小程序获取用户信息流程(2022年版)

     开门见山地说,本文主要讲述微信小程序在2022年以后获取用户信息的主要方法,如果想要了解2022年之前微信小程序获取用户信息的相关知识或者是微信小程序之前这部分的设计思想的话,推荐博主的下面这篇博客 ...

  8. 微信小程序获取用户信息(含服务端)

    本文获取用户信息方式需要服务端配合,纯前端的可查看 微信小程序获取用户信息(纯前端) 若需获取 openid 和用户信息,可使用 wx.getUserInfo() 获取加密后的信息,传给服务端后解密. ...

  9. 微信小程序获取用户信息,得到是匿名信息,微信用户,问题解决

    文章目录 微信小程序获取用户信息,得到是匿名信息,微信用户,问题解决 1.官方声明 2.究其原因 3.登陆流程变更 4.实际情况 5.PC 端兼容注意点 微信小程序获取用户信息,得到是匿名信息,微信用 ...

最新文章

  1. ​你知道计算机视觉与机器视觉区别何在?
  2. Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
  3. 制作一本《First Love, Last Rites》之二
  4. nboot通过DNW下载并运行eboot.nb0
  5. [原创]直播服务器简单实现 http_flv和hls 内网直播桌面
  6. 【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......)
  7. boost::filesystem模块实现打印boost配置信息的测试程序
  8. 【thymeleaf】模板中定义变量
  9. Gson 字符串与对象相互转换工具类
  10. 找一份好工作真的很难?是的,很难。
  11. 汇编语言(三十)之多模块求和
  12. pom.xml文件详解
  13. goland创建一个不限长度的字节切片_Go语言3 : 切片
  14. 更新失败 连接超时_苹果发布 iOS iPadOS 更新 修复蓝牙连接失败等错误
  15. 图解设计模式:责任链模式
  16. java累积度分布,累积分布函数
  17. 盘古开发框架集成 ShenYu 网关实现 Dubbo 泛化调用
  18. 面试题:为什么说 Mybatis 是半自动ORM 映射工具?它与全自动的区别在哪里?
  19. 夏季 肝病患者养生保健重点在哪 请详解
  20. http简介以及常见知识和http请求头,响应头,状态码,内容类型对照表分享(超实用)

热门文章

  1. 安全产品的核心逻辑-杀毒软件
  2. Unreal Engine UE4开发技巧
  3. 如何为你的网站添加二级域名?
  4. Probably Approximately Correct learning framework
  5. Redis常用的五种数据类型
  6. Google Play开发者账号注册过程中的安全问题
  7. java学习-画图小程序
  8. Spring Boot 整合 阿里云短信(模板模式)
  9. 列表List: 什么是列表?
  10. SemanticKITTI点云拼接+PCL可视化