剛才在做微信網頁授權的時候,發生一個錯誤! ! !微信網頁授權redirect_uri 參數錯誤!
遇到問題,第一時間該做的就是查看官網微信公眾平台的技術文件。
如果使用者在微信客戶端中訪問第三方網頁,公眾號可以透過微信網頁授權機制,來獲取使用者基本信息,進而實現業務邏輯。
關於網頁授權回呼網域的說明
1、在微信公眾號請求使用者網頁授權之前,開發者需要先到公眾平台官網中的「開發- 介面權限- 網頁服務- 網頁帳號- 網頁授權取得使用者基本資訊」的設定選項中,修改授權回調域名。請注意,這裡填寫的是網域名稱(是字串),而不是URL,因此請勿加上 http:// 等協定頭;
2、授權回呼域名配置規範為全域名,例如需要網頁授權的域名為: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鑑權
3、如果公眾號登入授權給了第三方開發者來進行管理,則不必做任何設置,由第三方代替公眾號實現網頁授權即可。
檢查微信授權的網頁服務。
網頁帳號 網頁授權取得使用者基本資料 無上限 修改
點選修改,進去把http://www.xxxx.cn 改為www.xxxx.cn就不會出現redirect_uri 參數錯誤!
注意:http://www.xxxx.cn這樣是可以透過網頁授權安全監測的,我們不知道這是有問題的,後來程式執行呼叫的時候發現redirect_uri 參數錯誤,查看文檔,回來發現,原來是這裡的錯誤。
//取得使用者的openid
function getBaseInfo(){
//1.取得code
$appid="qq1813284q1q6q8888" 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(){
$appid="qq1813284q1q6q8888";//這裡的appid="qq1813284q1q6q8888";//這裡的appid="qq1813284q1q6q8888";//這裡的appid="qq15appid 67q73bq1q2552qq75";//這裡的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
另外吐槽一下,博客園的圖片上傳很麻煩,需要先上傳到相冊,再插入圖片的時候填寫url地址,插入手機的截圖就天大地大,又要另外設定尺寸,這用戶體驗,我也是醉了。
是我操作不當?剛用博客園2天。