• 获取微信openid和基本信息的总结


    1、一个微信公众号上挂的2个页面,(2个页面域名不同)获得的openid是同一个。

    这里的appid 用的是公众号的appid,这里就认为是一个app。

    如果一个公众号网页,一个小程序, 他的appid是不同的,需要unionid

    2、一个成功获取到基本信息的示例

    前台js

    后台java接口

    1. @RequestMapping(value = "/getUserOpenIdAndUserInfo", method = RequestMethod.POST)
    2. public String getUserOpenIdAndUserInfo(@RequestBody Map param) {
    3. String code=param.get("code");
    4. System.out.println("----------------------- 测试 -微信用户信息code-------------:" + code);
    5. logger.info("leave webAuth {}",code);
    6. // 1 先用code获取到openid和access_token
    7. // https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
    8. JSONObject result = WeixinUtil.getOpenIdByCode(weixinProperties, code);
    9. if (result != null) {
    10. JSONObject responseJson = new JSONObject();
    11. String openId = result.getString("openid");
    12. String accessToken = result.getString("access_token");
    13. responseJson.put("openid", openId);
    14. responseJson.put("scope", result.getString("scope"));
    15. responseJson.put("access_token", accessToken);
    16. logger.info("success webAuth {}", responseJson.toJSONString());
    17. // 通过openId, accessToken获取到用户基本信息,主要是昵称和logo。
    18. // https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
    19. JSONObject joUserInfo = WeixinUtil.getUserInfo2(openId, accessToken);
    20. logger.info("getUserInfo2 userinfo {}", joUserInfo==null?"null":joUserInfo.toJSONString());
    21. System.out.println("getUserInfo2 userinfo "+ joUserInfo==null?"null":joUserInfo.toJSONString());
    22. /* // 更新登录用户的openid
    23. if (userId != null) {
    24. userMapper.updateUserOpenId(userId, openId);
    25. }*/
    26. return "认证成功"+ joUserInfo.toJSONString();
    27. } else {
    28. return "认证失败";
    29. }
    30. }

  • 相关阅读:
    Isito 入门(四):微服务可观测性
    【读书笔记】【Effective STL】算法
    【Vue 开发实战】基础篇 # 14:template和JSX的对比以及它们的本质
    二十四节气之立秋
    在Springboot HandlerInterceptor中获取GET和POST请求参数
    C++学习——对象数组、成员对象与封闭类
    树莓派开机自动播放U盘里的照片和视频
    分布式锁全家桶
    C语言实验九 函数(一)
    第3讲 Android Camera Native Framework cameraserver.rc详解(上)
  • 原文地址:https://blog.csdn.net/jinsedeme0881/article/details/127834115