微信网页授权,并获取用户头像,昵称等基本信息代码实例
生活随笔
收集整理的這篇文章主要介紹了
微信网页授权,并获取用户头像,昵称等基本信息代码实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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數據和密鑰tokenif(!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或者httpsif($is_https ){$http = 'https://';}else{$http = 'http://';}$string = $http.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];return $string; }注:博主根據微信官方手冊手寫的實例,希望能給到給位朋友幫助。這里要注意的細節比較多,state 這個參數要了解一下。
總結
以上是生活随笔為你收集整理的微信网页授权,并获取用户头像,昵称等基本信息代码实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.3 基本算法之递归变递推 1188
- 下一篇: 小学奥数_7649 我家的门牌号