1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信网页授权 并获取用户头像 昵称等基本信息代码实例

微信网页授权 并获取用户头像 昵称等基本信息代码实例

时间:2019-12-26 09:36:55

相关推荐

微信网页授权 并获取用户头像 昵称等基本信息代码实例

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./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./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数据和密钥tokenif(!isset($json['errcode'])){$openid = $json['openid'];$url ="https://api./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或者httpsif($is_https ){$http = 'https://';}else{$http = 'http://';}$string = $http.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];return $string;}

注:博主根据微信官方手册手写的实例,希望能给到给位朋友帮助。这里要注意的细节比较多,state 这个参数要了解一下。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。