夺命雷公狗---微信开发49----获取用户列表接口(1)

一般说,微信公众账号运营一段时间,会积累一定数量的用户,一些用户很少会主动发送信息,我们可以通过微信提供的高级接口来获取用户列表,对这些用户(不管是活跃用户还是潜水用户)进行有效的管理,将公司的公众帐号的营销效果做到最后价值。

因此我们看看用户管理接口 获取用户列表 是如何使用到实际开发中的。

获取用户列表接口,可以一次性将公众号的所有用户信息拉取下来

公众号可以通过接口获取帐号的关注者列表,关注者列表由一串openid(加密后的微信帐号,每个用户的openid是一样的)组成。

一次最多拉取10000万个关注者的openid,如果不够,可以通过多次拉取的方式来满足需求。

 

 

先来查看下手册:

 

 

 

我们先到数据库里面创建一张表:

 

 

我们来写个list_user.php的文件,来让数据通过for循环然后遍历进数据库,代码如下所示:

 

<?php
    header("Content-Type:text/html;Charset=utf-8");
    require_once "common.php";
    require_once "get_token.php";
    
    //链接数据库
    $connect = mysql_connect('localhost','root','root') or die('数据库连接失败');
    mysql_select_db('wxdb',$connect);
    mysql_query('set names utf8');
    
    //因为默认是从1开始取的,所以&next_openid=NEXT_OPENID"这里可以不需要
    $url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token={$access_token}";
    $res2 = http_request($url,null);
    //进行惊悚解码
    $res2 = json_decode($res2);
    $res2 = $res2->data->openid;
    //取出有多少个openid
    $openid_num = count($res2);
    //遍历出openid
    for($i=0;$i<$openid_num;$i++){
        //这时我们通过openid来获取用户的信息
        $fromUsername = $res2[$i];
        $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token={$access_token}&openid={$fromUsername}";
        //发送请求
        $res = http_request($url,null);
        $res = json_decode($res);
        //获取我们所需要的各种信息
        $nickname = $res->nickname;//用户昵称
        $sex = $res->sex;//性别
        $country = $res->country;//国家
        $province = $res->province;//省份
        $city = $res->city;//城市
        $address = "{$country}{$province}{$city}";
        $subscribe_time = $res->subscribe_time;//用户关注的时间
        $sjc = date('Y-m-d-H:i:s');
        $groupid = $res->groupid;//用户所在的分组ID
        $headimgurl = $res->headimgurl;//用户头像
        //利用substr函数获取小头像地址 0代表从第0个开始获取,-1代表去掉最后一个
        $samll_head_imgurl = substr($headimgurl,0,-1).'132';
        
        //数据库进行插入
        $sql = "insert into userinfo2 (id,openid,nickname,headurl,address,sex) values(NULL,'{$fromUsername}','{$nickname}','{$samll_head_imgurl}','{$address}','{$sex}')";
        mysql_query($sql);
        
        echo "保存成功第{$i}个<br />";
    }

 

然后进行访问list_user.php

 

 

然后再进数据库看见下是否入库了,

 

我明显,我们的代码已经成功入库,证明我们测试成功YES

posted @ 2016-03-07 11:47  夺命雷公狗  阅读(319)  评论(0编辑  收藏  举报