java获取微信公众号关注粉丝数量

2017年10月14日 10:24 | 2030次浏览 作者原创 版权保护

公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串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   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程