微信授权获取用户的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>" ;
        }
}
?>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值