php 微信開發(fā)獲取用戶信息如何實現(xiàn)
php 微信開發(fā)獲取用戶信息
獲取用戶信息的大致算法是
用戶授權(quán)登錄第三方網(wǎng)站,
重點:scope參數(shù):
snsapi_basic 靜默登錄,不需要用戶授權(quán),只能獲取到openid;
snsapi_userinfo ,需要用戶點擊授權(quán),能獲取到openid和所有用戶信息;
第一步:先獲取用戶的code值;
第二步:根據(jù)code值去獲取access_token,每次請求的值都不一樣,如果沒有使用,每五分鐘更新一次;
第三步:根據(jù)access_token獲取用戶信息;
1.獲取code代碼實現(xiàn):


getcode.php
if(isset($_SESSION['user'])){
print_r($_SESSION['user']);
exit;
}
$appid='wx1d7c6fcd6131143b3';
$redirect_url="http://www.antfortune.vip/callback.php";
$scope='snsapi_userinfo';//獲取的方式;
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.urlencode($redirect_url).'&response_type=code&scope='.$scope.'&state=123#wechat_redirect';
header("Location:".$url);
2、根據(jù)code獲取access_token和openid
getOpenid.php
<?php
//獲取用戶openid
$appid="your appid";
$appsecret="your appsecret";
$code=$_GET['code'];
function getOpenID($appid,$appsecret,$code){
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".
$appsecret."&code=".$code."&grant_type=authorization_code";
$weixin=file_get_contents($url);//通過code換取網(wǎng)頁授權(quán)access_token
$jsondecode=json_decode($weixin); //對JSON格式的字符串進行編碼
$array = get_object_vars($jsondecode);//轉(zhuǎn)換成數(shù)組
$openid = $array['openid'];//輸出openid
return $openid;
}
echo getOpenID($appid,$appsecret,$code);
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
json的鍵名為數(shù)字時的調(diào)用方式(示例代碼)
json的鍵名為數(shù)字時的調(diào)用方式(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
php自定義函數(shù)實現(xiàn)統(tǒng)計中文字符串長度的方法小結(jié)
這篇文章主要介紹了php自定義函數(shù)實現(xiàn)統(tǒng)計中文字符串長度的方法,結(jié)合實例形式總結(jié)分析了php針對中文的判定、編碼與運算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
JS中encodeURIComponent函數(shù)用php解碼的代碼
在JS中使用了encodeURIComponent對中文進行編碼在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中g(shù)b2312根據(jù)你實際應(yīng)用來定如還不明白為什么看下面的文章2012-03-03
Smarty模板學(xué)習(xí)筆記之Smarty簡介
Smarty是一個使用PHP寫出來的模板PHP模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。2014-05-05
php的chr和ord函數(shù)實現(xiàn)字符加減乘除運算實現(xiàn)代碼
這兩個函數(shù)到底有什么用呢? 用來做字符加減運算最合適了. 普通的字符是無法做加減運算指向下一個字符的. 而轉(zhuǎn)成ASCII后就可以做加減乘除了. 處理好后再轉(zhuǎn)成字符就可以了. 目前的很多字符串加密,解密都用到此功能!2011-12-12

