zoukankan      html  css  js  c++  java
  • 微信服务号获取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);
             }
        }

    结果:

  • 相关阅读:
    valgrind使用手册
    [转]windows server 2008 多用户远程登录设置
    ios控件学习 IB实现
    把java变成exe
    python 函数 值传递
    java 经验
    python list 去除重复
    xcode 4.2 基础
    mac 使用
    object c 基础语法
  • 原文地址:https://www.cnblogs.com/yangzailu/p/8983848.html
Copyright © 2011-2022 走看看