【QQ互聯】【解決】client request's parameters are invalid, invalid openid

QQ互聯官方Demo的callback頁面在數據獲取方面有問題。如果直接引用,就會出現以下問題:

“client request's parameters are invalid, invalid openid”

【解決方法】
在 callback.php頁面 請按順序放置以下幾行代碼
$qc = new QC();
$acs = $qc->qq_callback();
$oid = $qc->get_openid();
$qc = new QC($acs,$oid);
$uinfo = $qc->get_user_info();
注意幾點:
1、定義$qc 時,記得使用new 關鍵字
2、要定義兩次$qc= new qc(),第一次用於獲取正確的access_token 和openid,第二次用於保證正確傳輸access_token和openid以保證api的使用
3、【順序】一定要先獲取access_token(即先使用qq_callback()方法),再獲取openid(get_openid()方法),否則錯誤,作者本人因爲偶然寫反了順序,花了1小時才找到錯誤。。。
4、【代碼位置】,爲了儘量減少未知的錯誤,儘量保證 上述代碼在整個php代碼執行流程中,保持在頂端先執行(尤其注意因require等方式包含進來的代碼),

5、【變量傳遞】作者推薦:在第一次new QC()之後,立即獲取access_token和openid,並立即重新使用獲取到的access_token和openid來重新定義QC()類(見上述代碼示例),以防止變量丟失或被覆蓋

發佈了27 篇原創文章 · 獲贊 26 · 訪問量 50萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章