微信授权获取用户的openid

用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/8/9
 * Time: 15:31
 */
echo "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\">";
$code = $_GET['code'];
//echo "code: ";
//echo $code;
$getAccess = new getWxAccess();
$getAccess->getCode();
class getWxAccess{
   public function __construct()
   {

   }
   public function getCode(){
       $appid = 'wx8109981b74f329f6';
       $secret = 'd5cc4a9838959c3bd6f814ed79afd811';
       $code = $_GET['code'];
       $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
//       echo $url;
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );
       $res = curl_exec($ch);
       curl_close($ch);
//       if(curl_error($ch)){
//           var_dump(curl_error($ch));
//       }
       $arr = json_decode($res , true);
       //得到access_token
//       var_dump($arr);
//       echo $arr["access_token"];
       $this -> getUserInfo($arr["access_token"],$arr["openid"]);
   }


    public function getUserInfo($accessToken , $openid){
        $url = "https://api.weixin.qq.com/sns/userinfo?access_token=$accessToken&openid=$openid&lang=zh_CN";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url );
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );
        $res = curl_exec($ch);
        curl_close($ch);
//       if(curl_error($ch)){
//           var_dump(curl_error($ch));
//       }
        $arr = json_decode($res , true);
        //获取用户信息
//        var_dump($arr);
        echo "<h1>用户名:".$arr['nickname']."</h1>";
        echo "<h1>头像:<img style='width: 10%;text-align: center' src=".$arr['headimgurl']."></h1>";
        if($arr['sex'] == '1'){
            $arr['sex'] = '男';
        }else{
            $arr['sex'] ='女';
        }
        echo "<h2>性别:".$arr['sex']."</h2>";
        echo "<h3>国家:".$arr['country']."</h3>";
       }
}
?>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值