java 判断微信用户是否关注了公众号
一
需求,在用户进我们公众号的时候判断有没有关注,没关注不给看
对这个需求的看法
降智需求不解释,微信用户是否关注公众号,在用户的客户端就显示了的。
这东西微信知道,用户知道,就是我们公众号的服务器不知道。
然后,我们为了获取他有没有关注我们公众号,要求他先授权登录获取token和openid,然后授权了之后查这个接口。
要是用户没关注还点了授权的按钮,结果看不了,他的内心是不是100只草泥马啊!
从这个降智需求联想开来,微信这个接口实际上有什么用啊?不就是只能实现这种降智的需求?那么实现降智需求的接口不就是?????
这东西我觉得微信应该可以在每次请求的时候都丢给公众号服务器啊?
二
直接复制csdn的代码,并且把无用信息删除。
/** * 判断用户是否关注了公众号 */ public static boolean judgeIsFollow(String token,String openid){ Integer subscribe String url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token="+token+"&openid="+openid+"&lang=zh_CN"; try { URL urlGet = new URL(url); HttpURLConnection http = (HttpURLConnection) urlGet.openConnection(); http.setRequestMethod("GET"); // 必须是get方式请求 http.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); http.setDoOutput(true); http.setDoInput(true); http.connect(); InputStream is = http.getInputStream(); int size = is.available(); byte[] jsonBytes = new byte[size]; is.read(jsonBytes); String message = new String(jsonBytes, "UTF-8"); JSONObject demoJson = JSONObject.fromObject(message); //System.out.println("JSON字符串:"+demoJson); subscribe = demoJson.getInt("subscribe"); is.close(); } catch (Exception e) { e.printStackTrace(); } return 1==subscribe?true:false; }