《「WeChat微信授權(quán)登錄」PHP微信授權(quán)登錄小白貼》要點:
本文介紹了「WeChat微信授權(quán)登錄」PHP微信授權(quán)登錄小白貼,希望對您有用。如果有疑問,可以聯(lián)系我們。
我們用php做微信授權(quán)最主要使用的便是php的curl,下面我會為大家貼上一段.
首先,我們先去微信公眾平臺 - 接口權(quán)限 - 網(wǎng)頁授權(quán)(網(wǎng)頁授權(quán)獲取用戶基本信息中) 修改網(wǎng)頁授權(quán)域名,我們只需要將網(wǎng)站拜訪目錄配置好,并且把需要下載的txt上傳當(dāng)前目錄就行了,如下圖.
下面我們開始第一步,獲取code,我把獲取code辦法都寫在下圖的注釋中,供客官們閱讀.
配置好之后,我們拜訪上面的鏈接看到的就是下面的頁面,當(dāng)點擊確認的時候,我們就會轉(zhuǎn)跳到授權(quán)配置的回調(diào)頁面,如下圖,下面小編為大家寫一下授權(quán)回調(diào)頁面,做一些有意思的事.
第二步獲取的json數(shù)據(jù)未json_decode之前如下圖.
第三步獲取的json數(shù)據(jù)未json_decode之前如下圖.
具體的參數(shù)闡明我們都可以在微信公眾平臺技術(shù)文檔的微信網(wǎng)頁授權(quán)中查看.
之后我們就可以拿到微信用戶的各種信息了,可以做一些操作,好比存入數(shù)據(jù)庫和其他一些判斷,這里小編就不一一寫出來了.
重要提示:我們還有一步,就是有很多客官別的數(shù)據(jù)都拿到了,就是沒有unionid,這里我們還必要將公眾號綁定到微信開放平臺,我們只必要登錄微信開放平臺,選擇下面的選項,由管理員將公眾號添加進去即可.
綁定勝利之后我們在微信公眾平臺中基本配置下就能看到我們剛才綁定的開放平臺賬號了.
然后我們再次重復(fù)上面的過程,就可以發(fā)現(xiàn)用戶的所有信息包含unionid都獲取到了.
下面為了大家便利,我將我編寫的php文件貼在下面,供大家復(fù)制查看.
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
//這里攜帶的幾個參數(shù)
//appid 公眾號唯一標識 在公眾平臺 - 基本配置中查看
//redirect_uri 回調(diào)地址 成功授權(quán)之后重定向回調(diào)地址 必要進行urlencode
//response_type 直接填寫code即可
//scope 官網(wǎng)解釋叫應(yīng)用授權(quán)作用域 其實相當(dāng)于兩個參數(shù)中選擇一個填寫
//第一種參數(shù)選擇填寫 snsapi_base 不會彈出授權(quán)頁面 靜默授權(quán)
//第二種參數(shù)選擇填寫 snsapi_userinfo 彈出授權(quán)確認頁面 我們下面為了獲取更多信息 使用第二種參數(shù)選擇
//state 和 wechat_redirect 我們使用鏈接中的即可 不必要修改
//下面我們進入回調(diào)頁環(huán)節(jié)
//首選我們準備一個curl 為下面幾次哀求用
function do_curl($url,$data='',$agent=''){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0); //是否返回header頭
curl_setopt($ch, CURLOPT_TIMEOUT,6); //超時時間
if($data){
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密算法是否存在
if($agent){
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
}
$content = curl_exec($ch);
return $content;
}
//第一步 截取code 這一步 我們從回調(diào)的url中截取到code的參數(shù) 而且聲明一個變量作為code
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
$arr = parse_url($url);
$arr_query = convertUrlQuery($arr['query']);
$code = $arr_query['code'];
//第二步 使用curl根據(jù)code來獲取access_token和openid
//必要的參數(shù)appid和secret都在公眾平臺 - 基本配置中查看 code則是我們上面獲取的code $code
$access_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code ';
//之后我們使用curl發(fā)送哀求 將成功哀求的數(shù)據(jù)json_decode之后 我們再定義變量$access_token和$openid 供后面使用
$result = json_decode(do_curl($access_token_url));
$access_token = $result->access_token;
$openid = $result->openid;
//第三部 根據(jù)access_token和openiid去獲取微信用戶信息 第三個參數(shù)lang是語言的選擇
$user_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$data = json_decode(do_curl($user_url));
小編虛心的歡迎各位年夜神的指教和糾錯,也歡迎沒太懂的客官留言,小編會第一時間看到之后進行回復(fù)的.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《「WeChat微信授權(quán)登錄」PHP微信授權(quán)登錄小白貼》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10619.html