QQ互聯登陸PHP-SDK,(-1)invalid openid錯誤—解決方法,問題現象是:部署了PHP-SDK以後,出現有時能登陸,有時不能登陸的狀況,錯誤提示是:-1 client request's parameters are invalid, invalid openid php
網上找過不少方法,測試了各類調試兩天,終於貌似找到了解決方法: api
在 callback.php頁面 請按順序放置如下幾行代碼 測試
1
2
3
4
5
6
7
|
require_once("API/qqConnectAPI.php");
$qc = new QC();
$acs = $qc->qq_callback();
$oid = $qc->get_openid();
$qc = new QC($acs,$oid);
$uinfo = $qc->get_user_info();
|
注意幾點: ui
一、定義$qc 時,記得使用new 關鍵字 spa
二、要定義兩次$qc= new qc(),第一次用於獲取正確的access_token 和openid,第二次用於保證正確傳輸access_token和openid以保證api的使用 調試
三、【順序】必定要先獲取access_token(即先使用qq_callback()方法),再獲取openid(get_openid()方法),不然錯誤,做者本人由於偶然寫反了順序,花了1小時才找到錯誤。。。 token
四、【代碼位置】,爲了儘可能減小未知的錯誤,儘可能保證 上述代碼在整個php代碼執行流程中,保持在頂端先執行(尤爲注意因require等方式包含進來的代碼), ci
五、【變量傳遞】做者推薦:在第一次new QC()以後,當即獲取access_token和openid,並當即從新使用獲取到的access_token和openid來從新定義QC()類(見上述代碼示例),以防止變量丟失或被覆蓋 部署