当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » PHP  » Web编程
danielYii

微信授权获取用户的openid

danielYii 发布于 2016年08月22日 15时, 1评/3416阅
分享到: 
收藏 +0
0
用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [代码][PHP]代码     跳至 [1] [全屏预览]

<?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>";
       }
}
?>


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

开源从代码分享开始 分享代码
danielYii的其它代码 全部(4)...