微信端获取用户信息(思路)

微信公众号越来越多,对于我们程序员来说,也越来越需要了解微信端接口开发,下面是微信用户进入公众号后,公众号获取用户信息的思路。

当然了,我有代码,这里就只贴一点,主要的还是流程和查阅微信开发文档。

appid和secret是登录微信公众号里面设置的,固定的,code是微信用户同意协议返回给前端的code,后台通过这三个参数,访问url获取openid和access_token,然后再根据url访问微信接口获取用户信息。

代码:

 1 String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="
 2                 + CommonConstants.getProperty("wxAppId")
 3                 +"&secret=" + CommonConstants.getProperty("secret") + "&code="
 4                 + notice.getCode() + "&grant_type=authorization_code";
 5         //获取access_token
 6         String respResult = HttpUtil.sendGetForWeChatOpen(requestUrl);
 7         Map<?, ?> map = RustFastJsonUtil.jsonTOmap(respResult);
 8         logger.info("微信获取access_token返回结果:" + respResult);
 9 
10         String openid = String.valueOf(map.get("openid"));
11         logger.debug("openId:" + openid);
12         String access_token = String.valueOf(map.get("access_token"));
13         logger.debug("access_token:" + access_token);

以上代码,我们就获取到了微信openId,下面获取用户信息:

1 logger.info("-------->发送请求获取用户信息<-------");
2 
3         requestUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";
4 
5         String baseInfo = HttpUtil.sendGetForWeChatOpen(requestUrl);
6         logger.info("baseInfo:" + baseInfo);
7         String haha = "";
8         logger.debug("------->开始采用ISO-8859-1编码格式进行转码<-----");
9         haha = new String(baseInfo.getBytes("ISO-8859-1"), "UTF-8");

微信用户信息就在"haha"里面。

posted @ 2017-08-20 20:15  根目录97  阅读(1486)  评论(0编辑  收藏  举报