微信二次开发——获取粉丝列表

获取用户基本信息

公众号可获得关注者的openid(对于不同公众号,同一用户的openid不同)。公众号可用过接口来根据openid获取用户基本信息。

获取用户列表接口:

http请求方式: GET(请使用https协议)
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID

看着以上接口我们可以看出,首先我们需要有一个参数access_token

获取access_token的方法:可以直接写一个方法来之后直接来调用。获取access_token的方法获取在文章自定义菜单中有详细的代码。如果还不知道怎么获取 access_token请参照本人的微信二次开发-自定义菜单创建接口。

next_token(第一个拉取的openid,如果不填写默认从第一个开始获取)。

下边是lanewechat里边已经封装好的一个获取用户信息的基本方法getFansList()

 public static function getFansList($next_openid=''){

        //获取ACCESS_TOKEN

        // $accessToken = AccessToken::getAccessToken();

        $accessToken = getAccess_token();

        if(empty($next_openid)){

            $queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$accessToken;

        }else{

            $queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$accessToken.'&next_openid='.$next_openid;

        }

        return Curl::callWebServer($queryUrl, '', 'GET');

    }

在这个里边我们可以获取到粉丝们的openid。获取到用户的openid之后的们就可以去批量获取用户信息。

批量获取用户信息接口:

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=ACCESS_TOKEN

下边是获取用户基本信息的代码:

public static function getUserInfo($openid){
        $accessToken = getAccess_token();
        $queryUrl = "https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=".$accessToken;
        $json=json_encode(array('user_list'=>$openid));
        return Curl::callWebServer($queryUrl, $json, 'POST');

    }

如果成功之后会返回json数据包,如果错误的话会返回:

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

这样我们就成功的获取到了用户的基本信息。也就是关注了你的粉丝,我们可以将这些查询出来的信息,存入数据库,将数据保存下来,然后我们就可以将这样数据显示在我们的页面上。

下边是我的php里的代码:

	public function add(){
	    $mp=$this->mp;//获取使用的公众号的id
        $where['mp_id']=$mp['id'];
        M('mp_friends')->where($where)->delete();
        include_once APP_PATH.'LaneWeChat/lanewechat.php';
        $ret=UserManage::getFansList();
        $openids=$ret['data']['openid'];
        $arr=array();
        foreach ($openids as $key => $value) {
        	$row=array();
                $row['openid']=$value;
                $row['lang']='zh-CN';
                $arr[]=$row;
        }
        $ret=UserManage::getUserInfo($arr);
        if (isset($ret['user_info_list'])) {
                $data=$ret['user_info_list'];
                foreach ($data as &$value) {
                        $value['mp_id']=$mp['id'];
                        $value['tagid_list']=json_encode($value['tagid_list']);
                }
                M('mp_friends')->addAll($data);
        }
       $this->success('同步完成',U('index'));
	}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值