美文网首页Java学习笔记
微信公众号开发

微信公众号开发

作者: 哈士奇的乐趣 | 来源:发表于2017-06-06 15:31 被阅读51次

很多时候有意无意间,我们作为程序员,都会自己给自己挖坑。我也不例外,为了以后长点记性,我觉得还是记录下来比较好。俗话说:好记性不如烂笔头。现在的互联网时代,烂笔头或许被抛弃了,但是文档的存储却给了我们很大的优势。下面就来看看微信开发吧。

首先想要在微信上获取任何信息,都必须得到微信的敲门砖 code。

code 这个参数是微信传给我们的,我们要在网页里面获取code。

有了code,我们就进入了这个大门,就可以获取我们想要的openId。

下面我们来看一下代码

获取openId

通过code 获取openId

MyLogUtils.getInstance().log("通过code换取网页授权access_token 》》》code:"+code); //通过code换取网页授权access_tokenString  getToken ="https://api.weixin.qq.com/sns/oauth2/access_token?appid="+Config.APPID+"&secret="+Config.APPSECRET+"&code="+code+"&grant_type=authorization_code";

String access_token =null;

try {

access_token = MyHttpUtils.getInstall().HttpPostRequest(getToken);

ObjectMapper objectMapper_access_token = new ObjectMapper();

MaptokenMap = objectMapper_access_token.readValue(access_token,new TypeReference>() {});

if(null != tokenMap.get("errmsg")){

// data.setErrMsg("授权登陆超时,请重新登陆");

return data;

}

String openid = (String) tokenMap.get("openid");

假如我们想要获取微信的用户信息,首先要获取基本支持的token 和 openId 这两个参数,因为token的失效时间是7200S,所以我们一般会选择存入数据库,2小时更新一次token。

获取基本支持的token

String url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+Config.APPID+"&secret="+Config.APPSECRET; try {

String token =  MyHttpUtils.getInstall().HttpPostRequest(url);

ObjectMapper  jbtoken= new ObjectMapper();

Map jbMap = jbtoken.readValue(token,new TypeReference<Map<String,Object>>() {});

maps.put("token", jbMap.get("access_token"));

maps.put("expires_in", jbMap.get("expires_in"));

通过openId 和 基本支持的token  获取用户信息

String wxUserInfo = MyHttpUtils.getInstall().HttpPostRequest("https://api.weixin.qq.com/cgi-bin/user/info?access_token="+acctoken+"&openid="+openid+"&lang=zh_CN");

MyLogUtils.getInstance().log("获取到的微信用户信息:"+wxUserInfo);

ObjectMapper objectMapper_userInfo= new ObjectMapper();

Map<String,Object> userMap = objectMapper_userInfo.readValue(wxUserInfo,new TypeReference<Map<String,object>>() {});

String nickname = (String) userMap.get("nickname");

int sex = (Integer) userMap.get("sex");

String province = (String) userMap.get("province");

String city = (String) userMap.get("city");

String headimgurl = (String) userMap.get("headimgurl");等一些数据

相关文章

  • 微信开发

    微信开发 公众号开发 微信WEB开发 JSSDK 小程序开发 公众号开发 公众号 订阅号 服务号 企业号 公众号开...

  • 微信公众号开发 (4) 网页授权

    一、前言 微信公众号开发 (1) 微信接入认证成为开发者 微信公众号开发 (2) 消息处理 微信公众号开发 (3)...

  • 微信公众号开发:微信服务号和订阅号的区别!

    微信开发又称微信公众平台开发、或微信公众号开发,分为微信服务号、微信订阅号、以及微信企业号,其中服务号和订阅号是企...

  • PHP微信公众号支付开发总结

    微信公众号开发是很常见的开发,其中微信支付占有很大的比重。微信公众号分为服务号和订阅号,服务号支持微信支付。 前期...

  • 基于JavaEE——微信网页(二)微信开发

    微信开发测试公众号(沙盒号) 微信API帮助文档 微信接口在线调试 首先申请微信开发的测试公众号,登陆后会看到微信...

  • 1 - 简介

    微信公众号开发 又称微信公众号二次开发。可以将公众账号由一个媒体型营销工具转化成提供服务的产品。 微信公众号开发的...

  • 微信公众号开发 (3) 菜单处理

    一、前言 微信公众号开发 (1) 微信接入认证成为开发者 微信公众号开发 (2) 消息处理 本文将实现 根据App...

  • 微信服务器接入

    这几天正在学习微信公众号开发,后台JAVA基于SSM框架对微信公众号进行开发。 微信公众平台“基本配置”。详细请参...

  • 微信公众号开发:获取openId和用户信息

    title: 微信公众号开发:获取openId和用户信息 tags: 微信公众号 categories: 笔记 ...

  • Springboot 之小程序公众号等资料

    公众号 Java微信公众号开发的精彩世界,学习微信公众号开发的相关概念,编辑模式和开发模式应用,以及百度BAE的使...

网友评论

    本文标题:微信公众号开发

    本文链接:https://www.haomeiwen.com/subject/zbngfxtx.html