首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》6.5 获取用户基本信息

关灯直达底部

在用户与微信公众号产生消息交互后,微信公众号可获得用户的OpenID(加密后的微信号,每个用户对每个微信公众号的OpenID是唯一的。对于不同的微信公众号,同一用户的OpenID不同)。微信公众号可通过本接口根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间等。

开发者可通过OpenID来获取用户基本信息。

获取用户信息的接口如下。


https:// api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN  

该接口的参数说明如表6-13所示。

表6-13 获取用户信息请求的参数说明

获取用户基本信息的代码实现如下。


 1 <?php 2 $access_token = "QfUKtidNK0z-WA9C38JIncULipiunLfKpic1rmcnPOCs4UuZ7ek7PvjM5mLXnk       JH7d5u2vX2q7UY9wurrJRjFrnIi4O6BkDwSmfE3wv1-ToSrEXGzwOpzgc8SSw74tNHDAUbACAWTN"; 3  4 $openid = "oiPuduGV7gJ_MOSfAWpVmhhgXh-U"; 5 $url = "https:// api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&       openid=$openid&lang=zh_CN"; 6 $output = https_request($url); 7 var_dump($output); 8  9 function https_request($url, $data = null)10 {11     $curl = curl_init;12     curl_setopt($curl, CURLOPT_URL, $url);13     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);14     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);15     if (!empty($data)){16         curl_setopt($curl, CURLOPT_POST, 1);17         curl_setopt($curl, CURLOPT_POSTFIELDS, $data);18     }19     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);20     $output = curl_exec($curl);21     curl_close($curl);22     return $output;23 }24 ?>  

上述代码执行后,返回的结果如下。


{    "subscribe":1,    "openid":"oiPuduGV7gJ_MOSfAWpVmhhgXh-U",    "nickname":"喵了个咪",    "sex":1,    "language":"zh_CN",    "city":"深圳",    "province":"广东",    "country":"中国",    "headimgurl":"http:// wx.qlogo.cn/mmopen/AkcGLGLkeINKqK5nbT6DtrL9XY47H1niaRLBq0    4jrPSzcIlbWVMgiaUbgVnAWVcQJz63mtyNF4YjdpiaBLymaFmKCheBpQyu9BR/0",    "subscribe_time":1468461486,    "unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL",    "remark":"fangbei",    "groupid":2,    "tagid_list":[        2,        102,        105    ]}  

上述数据的参数说明如表6-14所示。

表6-14 获取用户信息结果的参数说明