JAVA微信公众号(二)获取用户列表

继上篇

https://blog.csdn.net/FORLOVEHUAN/article/details/81512556

	AccessToken accessToken=wxUtils.getAccessToken();
	String url="https://api.weixin.qq.com/cgi-bin/user/get?access_token="+accessToken.getAccessToken()+"&next_openid=";//获取所有用户openid
JSONObject jsonObject = httpRequest(url, "GET", null);  
	try {
		if(jsonObject.getString("errcode")!=null){
		}
	}catch(Exception e) {
	}
	WeixinUserList userList = (WeixinUserList)JSONObject.toBean(jsonObject, WeixinUserList.class);
	if(null==userList) {
			return "无用户";
	}
	userList.getTotal();//关注总人数
	//用户openId 列表
	WxOpenidInfo wxOpenidInfo=userList.getData();
	List<String> openIdList=null;
	if(null!=wxOpenidInfo) {
		openIdList=wxOpenidInfo.getOpenid();//公众号返回的数据	
		if(null!=openIdList && openIdList.size()>0) {
		for(String opendid:openIdList) {
			 url="https://api.weixin.qq.com/cgi-bin/user/info?       access_token="+accessToken.getAccessToken()+"&openid="+opendid+"&lang=zh_CN";//通过openid获取用户信息
			 jsonObject = httpRequest(url, "GET", null); 
			WeixinUser wxUser=(WeixinUser)JSONObject.toBean(jsonObject, WeixinUser.class);	
			weixinUserService.save(wxUser);
			}
		}
}
			
			
			
			
/**
 * 用户列表  
 * @author m
 *
 */
public class WeixinUserList{
	

		 
	    private Integer total;//关注该公众账号的总用户数
	 
	    private Integer count;//拉取的OPENID个数,最大值为10000
	 
	    private WxOpenidInfo data;//列表数据,OPENID的列表
	 
	    private String next_openid;//拉取列表的最后一个用户的OPENID
	 
	    private int errcode;//错误编码
	 
	    private String errmsg="ok";//错误提示
	 
	    public Integer getTotal() {
	        return total;
	    }
	 
	    public void setTotal(Integer total) {
	        this.total = total;
	    }
	 
	    public Integer getCount() {
	        return count;
	    }
	 
	    public void setCount(Integer count) {
	        this.count = count;
	    }
	 
	    public String getNext_openid() {
	        return next_openid;
	    }
	 
	    public void setNext_openid(String next_openid) {
	        this.next_openid = next_openid;
	    }
	 
	    public WxOpenidInfo getData() {
	        return data;
	    }
	 
	    public void setData(WxOpenidInfo data) {
	        this.data = data;
	    }
	 
	    public int getErrcode() {
	        return errcode;
	    }
	 
	    public void setErrcode(int errcode) {
	        this.errcode = errcode;
	    }
	 
	    public String getErrmsg() {
	        return errmsg;
	    }
	 
	    public void setErrmsg(String errmsg) {
	        this.errmsg = errmsg;
	    }
	 
	}
	
	
	
	
	public class WeixinUser{
		private String subscribe;//	用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
		private String openid;//	用户的标识,对当前公众号唯一
		private String nickname;//	用户的昵称
		private String sex;//	用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
		private String city;//	用户所在城市
		private String country;//	用户所在国家
		private String province;//	用户所在省份
		private String language;//	用户的语言,简体中文为zh_CN
		private List<String> tagid_list;//用户被打上的标签ID列表
		
		
		
		public String getSubscribe() {
			return subscribe;
		}
		public void setSubscribe(String subscribe) {
			this.subscribe = subscribe;
		}
		public String getOpenid() {
			return openid;
		}
		public void setOpenid(String openid) {
			this.openid = openid;
		}
		public String getNickname() {
			return nickname;
		}
		public void setNickname(String nickname) {
			this.nickname = nickname;
		}
		public String getSex() {
			return sex;
		}
		public void setSex(String sex) {
			this.sex = sex;
		}
		public String getCity() {
			return city;
		}
		public void setCity(String city) {
			this.city = city;
		}
		public String getCountry() {
			return country;
		}
		public void setCountry(String country) {
			this.country = country;
		}
		public String getProvince() {
			return province;
		}
		public void setProvince(String province) {
			this.province = province;
		}
		public String getLanguage() {
			return language;
		}
		public void setLanguage(String language) {
			this.language = language;
		}
		public List<String> getTagid_list() {
			return tagid_list;
		}
		public void setTagid_list(List<String> tagid_list) {
			this.tagid_list = tagid_list;
		}
	}


			
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值