1. 程式人生 > >微信服務號獲取openid方法

微信服務號獲取openid方法

用戶信息 stat turn session init number resp spa sta

    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方法