利用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();