当前位置 : 主页 > 网络编程 > PHP >

微信授权获取用户的openid

来源:互联网 收集:自由互联 发布时间:2021-06-28
用户同意授权获取code,通过php的curl把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true不然返回的是对象不是数组 1. [代码] [
用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组

1. [代码][PHP]代码    

<?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>";
       }
}
?>
网友评论