微信服务号获取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方法的主要内容,如果未能解决你的问题,请参考以下文章