6.6.3 案例:获取用户基本信息

下面是调用getUserInfo()方法获取用户基本信息的案例。

  1. public static void main(String args[]) {
  2. // 获取接口访问凭证
  3. String accessToken = CommonUtil.getToken("APPID", "APPSECRET").getAccessToken();
  4. WeixinUserInfo user = getUserInfo(accessToken, "oEdzejiHCDqafJbz4WNJtWTMbDcE");
  5. System.out.println("OpenID:" + user.getOpenId());
  6. System.out.println("关注状态:" + user.getSubscribe());
  7. System.out.println("关注时间:" + user.getSubscribeTime());
  8. System.out.println("昵称:" + user.getNickname());
  9. System.out.println("性别:" + user.getSex());
  10. System.out.println("国家:" + user.getCountry());
  11. System.out.println("省份:" + user.getProvince());
  12. System.out.println("城市:" + user.getCity());
  13. System.out.println("语言:" + user.getLanguage());
  14. System.out.println("头像:" + user.getHeadImgUrl());
  15. }

如果OpenID为“oEdzejiHCDqafJbz4WNJtWTMbDcE”的用户关注了公众账号,上面示例的运行结果如下。

  1. OpenIDoEdzejiHCDqafJbz4WNJtWTMbDcE
  2. 关注状态:1
  3. 关注时间:1383945294
  4. 昵称:柳峰
  5. 性别:1
  6. 国家:中国
  7. 省份:贵州
  8. 城市:贵阳
  9. 语言:zh_CN
  10. 头像:
  11. http://wx.qlogo.cn/mmopen/ajNVdqHZLLAsT7TIFnNyeldZLDy8iarQcxEfia5F2tK60rdqlrvOGicwC
  12. tdMaQ9UicmH1NokbTn0aEMqJ0KtCAyAnQ/0

上述结果中的头像是一个网页链接,链接末尾的数字0表示头像大小为640像素×640像素。头像大小还支持46、64、96和132,如果要获取这些尺寸的头像,只需将头像链接中的0换成相应的数值即可,例如,96像素×96像素的头像链接如下:

  1. http://wx.qlogo.cn/mmopen/ajNVdqHZLLAsT7TIFnNyeldZLDy8iarQcxEfia5F2tK60rdqlrvOGic

如果用户未关注或已取消关注公众账号,示例的运行结果如下:

  1. [ERROR] 2013-11-10 17:47:12,860 org.liufeng.course.util.AdvancedUtil 用户
  2. oEdzejiHCDqafJbz4WNJtWTMbDcE已取消关注
  3. OpenIDoEdzejiHCDqafJbz4WNJtWTMbDcE
  4. 关注状态:0
  5. 关注时间:null
  6. 昵称:null
  7. 性别:0
  8. 国家:null
  9. 省份:null
  10. 城市:null
  11. 语言:null
  12. 头像:null