本文介绍在微信公众平台上如何使用高级接口开发获取关注者列表的功能。
一、接口介绍
公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。
接口调用请求说明http请求方式: GET(请使用https协议)
https://api./cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID参数是否必须说明
access_token是调用接口凭证
next_openid是第一个拉取的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值。
示例如下:公众账号A拥有23000个关注的人,想通过拉取关注接口获取所有关注的人,那么分别请求url如下:
https://api./cgi-bin/user/get?access_token=ACCESS_TOKEN
返回结果:
{
"total":23000,
"count":10000,
"data":{"
openid":[
"OPENID1",
"OPENID2",
...,
"OPENID10000"
]
},
"next_openid":"NEXT_OPENID1"
}
https://api./cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID1
返回结果:
{ "total":23000,
"count":10000,
"data":{ "openid":[ "OPENID10001",
"OPENID10002",
...,
"OPENID20000"
]
},
"next_openid":"NEXT_OPENID2"}
https://api./cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID1
返回结果(关注者列表已返回完时,返回next_openid为空):
$access_token = "";
$url = "https://api./cgi-bin/user/get?access_token=$access_token";
$result = https_request($url);
$jsoninfo = json_decode($result, true);
var_dump($result);
二、程序实现
= "" = "https://api./cgi-bin/user/get?access_token=" = https_request( = json_decode(, (
招行后,返回类似如下:
{
"total":23000,
"count":10000,
"data":{
"openid":[
"OPENID10001",
"OPENID10002",
...,
"OPENID20000"
]
},
"next_openid":"NEXT_OPENID2"
}
对于超过1万以后的数,循环执行上述程序即可,将这些openid存入数据库,就获得了关注者的列表。
该接口的作用主要是配合获取用户基本信息以及用户分组接口,获得所有关注者的基本信息及分组。
更多微信公众平台开发获取关注者列表相关文章请关注PHP中文网!
发布php中文网,转载请注明出处,感谢您的尊重!