网站地图    收藏   

主页 > 后端 > 微信开发 >

方倍微信公众平台开发(87) 获取关注者列表 - 微信

来源:自学PHP网    时间:2015-04-14 12:58 作者: 阅读:

[导读] 本文介绍在微信公众平台上如何使用高级接口开发获取关注者列表的功能。一、接口介绍公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个...

本文介绍在微信公众平台上如何使用高级接口开发获取关注者列表的功能。

 

一、接口介绍

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

接口调用请求说明

http请求方式: GET(请使用https协议)
https://api.weixin.qq.com/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.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN 
返回结果:
{
  "total":23000,
  "count":10000,
  "data":{"
     openid":[
        "OPENID1",
        "OPENID2",
        ...,
        "OPENID10000"
     ]
   },
   "next_openid":"NEXT_OPENID1"
}
https://api.weixin.qq.com/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.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID2
返回结果(关注者列表已返回完时,返回next_openid为空):
{
   "total":23000,
   "count":3000,
   "data":{"
       "openid":[
         "OPENID20001",
         "OPENID20002",
         ...,
         "OPENID23000"
       ]
   },
   "next_openid":" "
}

二、程序实现


$access_token = "";

$url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";
$result = https_request($url);
$jsoninfo = json_decode($result, true);
var_dump($result);

 

招行后,返回类似如下:

{
    "total": 200,
    "count": 200,
    "data": {
        "openid": [
            "o7Lp5t6n59DeX3U0C7Kric9qEx-Q",
            "o7Lp5t5BZDl22PcjIliHp03kzgBE"
        ]
    },
    "next_openid": "o7Lp5t5BZDl22PcjIliHp03kzgBE"
}

对于超过1万以后的数,循环执行上述程序即可,将这些openid存入数据库,就获得了关注者的列表。

该接口的作用主要是配合获取用户基本信息 http://www.2cto.com/weixin/201405/303995.html 以及用户分组接口,获得所有关注者的基本信息及分组。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论