在关注者与公众号产生消息消息互动后,公众号可获得关注者的Openid
加密后的微信号,每个用户对每个公众号的Openid是唯一的,对于不同公众号,同一用户的openid不同
公众号可以通过本接口来更具Openid获取用户基本嘻嘻,包括昵称,头像,性别,所在城市,语言和关注时间。
一句话说白就是:开发者主要是可以通过Openid来获取用户基本信息
我们照老规矩打开手册看下:
返回json格式数据说明,和错误码提示:
手册上面都有很详细的介绍
我们开始编写一个get_userinfo.php通过这程序可以获取指定微信用户的信息(昵称,性别,头像等)并将用户信息保存到数据库中,get_userinfo.php代码如下所示:
<?php header("Content-Type:text/html;charset=utf-8"); require_once "get_token.php"; require_once "common.php"; //获取指定用户的openid也就是主文件里面的$fromUsername $fromUsername = "oB1_6tzeHj-KG7kL8Thmu6VcF2BM"; $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}{$province}"; $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'; //设置一个空性别 $sexs = ''; if($sex == '1'){ $sexs = '男'; }else if($sex == '2'){ $sexs = '女'; }else{ $sexs = '他不说,估计是人妖'; } echo "<h1>报告老大您要追查的通缉犯</h1><br />"; echo "<table border='1'>"; echo "<tr> <th>昵称</th> <th>性别</th> <th>地址</th> <th>观众时间</th> <th>小头像</th> </tr>"; echo " <tr> <td>{$nickname}</td> <td>{$sexs}</td> <td>{$address}</td> <td>{$sjc}</td> <td><img src='".$samll_head_imgurl."'></td> </tr> "; echo "</table>"; echo "<br />"; echo "<br />"; echo "<br />"; echo "用户大头像<img src='".$headimgurl."'>";
然后访问:get_userinfo.php文件即可查询到刚才您所查的人是张成那个样子了,嘻嘻,
效果如下图所示: