公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。
接口调用请求说明
http请求方式: GET(请使用https协议) https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
返回说明
正确时返回JSON数据包:
{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}
错误时返回JSON数据包(示例为无效AppID错误):
{"errcode":40013,"errmsg":"invalid appid"}
好了,上述是调用接口的说明,其实该接口不仅能获取关注用户的openid列表,而且还能获取公众号关注粉丝总数量
代码实现
java方法
/***V型知识库 www.vxzsk.com * 微信关注总数 * @param accessToken * @return */ public static String getWeixinGuanzhu(String accessToken){ String jsonData = HttpUtil.sendGet("https://api.weixin.qq.com/cgi-bin/user/get?access_token="+accessToken, "utf-8", 30000); JSONObject jsonObj = JSONObject.fromObject(jsonData); return jsonObj.getString("total"); }
获取access_token请参考https://www.vxzsk.com/28.html
sendGet方法
public static String sendGet(String url, String charset, int timeout) { String result = ""; try { URL u = new URL(url); try { URLConnection conn = u.openConnection(); conn.connect(); conn.setConnectTimeout(timeout); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset)); String line=""; while ((line = in.readLine()) != null) { result = result + line; } in.close(); } catch (IOException e) { return result; } } catch (MalformedURLException e) { return result; } return result; }
JSONObject依赖json-lib-2.2.3-jdk13.jar 请读者自行下载
此文章本站原创,地址 https://www.vxzsk.com/252.html
转载请注明出处!谢谢!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程
上一篇:spring boot学习教程(0):前言
下一篇:关于Python入门教程系列
^