授权  微信公众号用户显式授权

    原理      用户关注公众号 或进入指定地址,前端JS-SDK 调用微信授权接口,用户显示确认授权后,微信会给予一个授权码code,通过授权码code 可以去微信服务器获取一个有效时长为7200秒的access-token;

    此token具有很重要作用,且获取频率做了日限制100000次/天;测试号则只有2000次/天。

    前端授权获取代码略。

    服务器代码关键如下:

    /**
    	 * @param code
    	 * @return 根据网页授权code 获取 openid,网页授权的access_token
    	 */
    	public String getUrlTokenBycode(String code) {
    		// String url =
    		// "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
    		String url = PropertiesUtil.getValue("wx.accessTokenCode");
    
    		// 微信正式公众号
    		url = url.replace("APPID", PropertiesUtil.getValue("wx.appid"));
    		url = url.replace("SECRET", PropertiesUtil.getValue("wx.appsecret"));
    		url = url.replace("CODE", code);
    
    		// 微信公众测试号
    		// url = url.replace("APPID", "wxd39f718d218f90a1");
    		// url = url.replace("SECRET", "71f7001a9c38fe13e5bb96bd8283f463");
    		// url = url.replace("CODE", code);
    		String result = "";
    		try {
    			result = Posturl.getRequest(url);
    			if (log.isInfoEnabled()) {
    				log.info("根据网页授权code,获取openid,网页授权access_token:---------" + result);
    			}
    			return result;
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "";
    	}
    

     

    联系QQ:343886028 --加QQ群 145315854