• 获取微信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. }

  • 相关阅读:
    微信开发提示未绑定网页开发者
    快速使用Spring Cache
    Web前端——表格表单练习
    免费1年服务器,部署个ChatGPT专属网页版!
    【计网】傻瓜式安装cpolar内网穿透
    【三维AIGC】扩散模型LDM辅助3D Gaussian重建三维场景
    react中zustand的使用
    Numerical Calculation 数值计算
    item_search - 根据关键词获取义乌购商品列表
    应用实践 | 10 亿数据秒级关联,货拉拉基于 Apache Doris 的 OLAP 体系演进
  • 原文地址:https://blog.csdn.net/jinsedeme0881/article/details/127834115