微信网页授权,并获取用户头像,昵称等基本信息代码实例
2019-05-28 20:07
627 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hj960511/article/details/81877348
html中的js片段:
var this_page_url = "当前界面地址";//通过函数自己获取 var openid = "通过模板赋值活get获取的"; var appID = "您的公众号appid"; var nickname = "通过模板赋值活get获取的"; var headimgurl = "通过模板赋值活get获取的"; var redirectUri = "你的回调地址}/这个是受理用户数据的方法路径"; //用户头像和昵称按照自己的需要进行填写 if(openid == null || openid == ''|| openid == undefined){ // 通过这个判断openid是否存在进行html页面里的跳转 var recatTo= "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appID + "&redirect_uri=" + redirectUri + "&response_type=code&scope=snsapi_userinfo&state=0#wechat_redirect"; window.location.href = recatTo; }
php文件中的代码片段:
<?php $code = isset($_GET['code'])?$_GET['code']:'';//或者使用框架自带的request 方法获取这个code $this_page_url = ‘需要传递这个当前地址url 用于登录以后的还原’;//可以使用_getNowUrl() 这个自定义函数 $appSecret =‘公众号密钥’; $appId = ‘公众号appid’; $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appId&secret=$appSecret&code={$code}&grant_type=authorization_code"; $r = file_get_contents($url); $json=(array)json_decode($r);//这个是从微信获取到的openid数据和密钥token if(!isset($json['errcode'])){ $openid = $json['openid']; $url ="https://api.weixin.qq.com/sns/userinfo?access_token=".$json['access_token']."&openid=".$json['openid']; $res = file_get_contents($url); $json = (array)json_decode($res);//这里是将返回过来的json对象转成数组 $headimgurl = $json['headimgurl']; $nickname = $json['nickname']; // 将相关获取到的 数据信息 openid、昵称、头像等)地址参数跳回前端页面 header("Location:'.$this_page_url .'?openid=$openid&nickname=$nickname&headimgurl=$headimgurl"); } return ‘获取失败’;
php使用的自定义函数:
//获取完整当前路径 function _getNowUrl(){ //检测是否是https 或者http $is_https = false; if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') { $is_https = true; } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) { $is_https = true; } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') { $is_https = true; } //判断是否是http或者https if($is_https ){ $http = 'https://'; }else{ $http = 'http://'; } $string = $http.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; return $string; }
注:博主根据微信官方手册手写的实例,希望能给到给位朋友帮助。这里要注意的细节比较多,state 这个参数要了解一下。
相关文章推荐
- 微信网页授权获取用户基本信息--PHP
- 微信开发公共服务平台开发(.Net) - 网页授权获取用户基本信息
- 微信的接口网页授权获取用户基本信息不是只有认证服务号才有
- 夺命雷公狗---微信开发53----网页授权(oauth2.0)获取用户基本信息接口(3)实现世界留言版
- 微信小程序获取用户openid,头像昵称信息,后台java代码
- 微信开发:网页授权获取用户的基本信息
- PHP/微信网页授权获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信 网页授权获取用户基本信息 (一)
- 微信开发之网页授权获取用户基本信息
- 微信oauth网页授权获取用户基本信息
- 微信--网页授权获取用户基本信息
- 夺命雷公狗---微信开发52----网页授权(oauth2.0)获取用户基本信息接口(2)
- 微信网页授权获取用户基本信息--PHP
- 微信 网页授权获取用户基本信息(OAuth 2.0)
- 微信开发 网页授权获取用户基本信息
- 微信网页中获取用户基本信息(网页授权操作)
- 微信之网页授权获取用户基本信息
- Java微信网页授权授权获取用户基本信息
- 微信开发之网页授权获取用户基本信息