账户中心 我的话题 我的评论 退出系统

获取用户信息

利用openid获取用户信息 $gracewechat->getUser($openid)

开发者可通过OpenID来获取用户基本信息,方法:$hcWeChat->getUser($openid);

获取到用户信息的格式:

{
   "subscribe": 1, 
   "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
   "nickname": "Band", 
   "sex": 1, 
   "language": "zh_CN", 
   "city": "广州", 
   "province": "广东", 
   "country": "中国", 
   "headimgurl":  "http://wx.qlogo.cn/mmopen/g3M....",
   "subscribe_time": 1382694957,
   "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
   "remark": "",
   "groupid": 0,
   "tagid_list":[128,2]
}

$gracewechat->getUser($openid) 函数获取用户相信后会将信息由XML转换为数组格式。

演示代码

$gracewechat = tool('graceWeChat');
$user = $gracewechat->getUser('op15jsy7D14d8BAvDTTLTdumuz_0I');
if(!$user){echo $gracewechat->error;}
p($user, 2);


重要说明

1、获取失败会终止返回 false ,并使用 error 属性保存字符串形式的错误信息,如:

$res = $gracewechat->getUser('o8ZMY1WivtAPlDNjnC7tD006jes11M');
if(!$res){echo $gracewechat->error;}

2、用户未关注公众号返回用户信息:

Array ( [subscribe] => 0 [openid] => o8ZMY1WivtAPlDNjnC7tD006jesM [tagid_list] => Array ( ) )

可以利用返回数组的 subscribe 属性值判断用户是否关注,关注 subscribe 值为 1。

获取用户列表
公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。
一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。

正确时返回JSON数据包:

{"total":2,
"count":2,
"data":{
"openid":["OPENID1","OPENID2"]},
"next_openid":"NEXT_OPENID"
}
参数说明
total关注该公众账号的总用户数
count拉取的OPENID个数,最大值为10000
data列表数据,OPENID的列表
next_openid拉取列表的最后一个用户的OPENID

错误时返回JSON数据包(示例为无效AppID错误):

{"errcode":40013,"errmsg":"invalid appid"}

附:关注者数量超过10000时

当公众号关注者数量超过10000时,可通过填写next_openid的值,从而多次拉取列表的方式来满足需求。

具体而言,就是在调用接口时,将上一次调用得到的返回中的next_openid值,作为下一次调用中的next_openid值。

演示代码

$gracewechat = tool('graceWeChat');
$users = $gracewechat->getUserList();