剛纔在作微信網頁受權的時候,發生一個錯誤!!!微信網頁受權redirect_uri 參數錯誤!php
遇到問題,第一時間應該作的就是查看官網微信公衆平臺的技術文檔。html
若是用戶在微信客戶端中訪問第三方網頁,公衆號能夠經過微信網頁受權機制,來獲取用戶基本信息,進而實現業務邏輯。api
關於網頁受權回調域名的說明安全
一、在微信公衆號請求用戶網頁受權以前,開發者須要先到公衆平臺官網中的「開發 - 接口權限 - 網頁服務 - 網頁賬號 - 網頁受權獲取用戶基本信息」的配置選項中,修改受權回調域名。請注意,這裏填寫的是域名(是一個字符串),而不是URL,所以請勿加 http:// 等協議頭; 微信
二、受權回調域名配置規範爲全域名,好比須要網頁受權的域名爲:www.qq.com,配置之後此域名下面的頁面http://www.qq.com/music.html 、 http://www.qq.com/login.html 均可以進行OAuth2.0鑑權。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com沒法進行OAuth2.0鑑權 app
三、若是公衆號登陸受權給了第三方開發者來進行管理,則沒必要作任何設置,由第三方代替公衆號實現網頁受權便可。微信公衆平臺
檢查微信受權的網頁服務。curl
網頁賬號 網頁受權獲取用戶基本信息 無上限 修改 this
點擊修改,進去把http://www.xxxx.cn 改成www.xxxx.cn就不會出現redirect_uri 參數錯誤!url
注意:http://www.xxxx.cn這樣是能夠經過網頁受權安全監測的,咱們不知道這是有問題的,後來程序執行調用的時候發現redirect_uri 參數錯誤,查看文檔,回來發現,原來是這裏的錯誤。
//獲取用戶的openid
function getBaseInfo(){
//1.獲取到code
$appid="qq1813284q1q6q8888";//這裏的appid是假的演示用
$redirect_uri=urlencode("http://www.xxxx.cn/xxx.php/Index/getUserOpenId");//這裏的地址須要http://
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
header('location:'.$url);
}
function getUserOpenId(){
//2.獲取到網頁受權的access_token
$appid="qq1813284q1q6q8888";//這裏的appid是假的演示用
$appsecret="61qqqq36745987167q73bq1q2552qq75";//這裏的appsecret是假的演示用
$code=$_GET['code'];
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code ";
//3.拉取用戶的openid
$res = $this->http_curl($url,'get');
var_dump($res);//打印便可看到用戶的openid
}