微信服务号获取openid方法

Posted yangzailu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信服务号获取openid方法相关的知识,希望对你有一定的参考价值。

    public function tetst(){
      if(!isset($_GET[\'code\'])){
              $APPID = $this->app_id;
              $ran = rand(1,100); //预防缓存
              $REDIRECT_URI = \'http://www.onedayoneclass.com/Home/Index/tetst?number=\'.$ran.\'\'; //一定写上http://
              $scope=\'snsapi_userinfo\';
              $url=\'https://open.weixin.qq.com/connect/oauth2/authorize?appid=\'.$APPID.\'&redirect_uri=\'.urlencode($REDIRECT_URI).\'&response_type=code&scope=\'.$scope.\'&state=wx\'.\'#wechat_redirect\';
              //加缓存 随机数
              header("Location:".$url);

          }else{
            $appid = $this->app_id;
            $secret = $this->app_secret;
             $code = $_GET["code"];
             $get_token_url = \'https://api.weixin.qq.com/sns/oauth2/access_token?appid=\'.$appid.\'&secret=\'.$secret.\'&code=\'.$code.\'&grant_type=authorization_code\';
             $ch = curl_init();
             curl_setopt($ch,CURLOPT_URL,$get_token_url);
             curl_setopt($ch,CURLOPT_HEADER,0);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
             curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
             $res = curl_exec($ch);
             curl_close($ch);
             $json_obj = json_decode($res,true);
             //根据openid和access_token查询用户信息
             $access_token = $json_obj[\'access_token\'];
             $openid = $json_obj[\'openid\'];
             $get_user_info_url = \'https://api.weixin.qq.com/sns/userinfo?access_token=\'.$access_token.\'&openid=\'.$openid.\'&lang=zh_CN\';
             
             $ch = curl_init();
             curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
             curl_setopt($ch,CURLOPT_HEADER,0);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
             curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
             $res = curl_exec($ch);
             curl_close($ch);
             
             //解析json
             $user_obj = json_decode($res,true);
             $_SESSION[\'user\'] = $user_obj;
             print_r($user_obj);
         }
    }

结果:

 

以上是关于微信服务号获取openid方法的主要内容,如果未能解决你的问题,请参考以下文章

如何获取微信用户openid

如何获取微信用户openid

微信服务号openid可以伪造吗

微信小程序怎么获取openid

微信订阅号开发,获取openid的方式

微信订阅号开发,获取openid的方式