騰訊開放平臺——client id is illegal(100008)!錯誤解決_電腦技巧_龍虎鷹師網安服務器維護基地--Powered by www.vqbhynr.com.cn

騰訊開放平臺——client id is illegal(100008)!錯誤解決

作者:龍虎鷹師網安云服務器教程網 來源:龍虎鷹師網安云服務器教程網 瀏覽次數:0

本篇關鍵詞:騰訊開放平臺
龍虎鷹師網安網訊: 今天心血來潮想借騰訊的開放平臺熟悉oauth。結果就擺弄了起來,騰訊的文檔還是寫得很詳細的,比我上一次看的已經好很多了。而且還提供了sdk,可以快速調用騰訊的開放平臺,既然是學習來的,也就沒圖快,決定從零開
 今天心血來潮想借騰訊的開放平臺熟悉oauth結果就擺弄了起來騰訊的文檔還是寫得很詳細的比我上一次看的已經好很多了而且還提供了sdk,可以快速調用騰訊的開放平臺,既然是學習來的,也就沒圖快,決定從零開始,手寫代碼。

一切都是按文檔來的,可沒想到第一步取access token就受挫了:

代碼如下:

  1. function get_access_token() {
  2. var req_url =  https://graph.qq.com/oauth2.0/authorize;
  3.  
  4. var req_data = {
  5. response_typetoken,//授權類型,此值固定為“token”
  6. client_id201981//申請QQ登錄成功后,分配給應用的appid。
  7. redirect_urihttp://www.goodje.com/labs/login/qq_login.php//成功授權后的回調地址,建議設置為網站首頁或網站的用戶中心。
  8. /*
  9. 請求用戶授權時向用戶顯示的可進行授權的列表。
  10. 可填寫的值是【QQ登錄】API文檔中列出的接口,以及一些動作型的授權(目前僅有:do_like),如果要填寫多個接口名稱,請用逗號隔開。
  11. 例如:scope=get_user_info,list_album,upload_pic,do_like
  12. 不傳則默認請求對接口get_user_info進行授權。
  13. 建議控制授權項的數量,只傳入必要的接口名稱,因為授權項越多,用戶越可能拒絕進行任何授權。
  14. */
  15. scopeget_user_info,
  16. statecomeonbb‘//client端的狀態值。用于第三方應用防止CSRF攻擊,成功授權后回調時會原樣帶回。
  17. //’display’: ‘mobile’//用于展示的樣式。不傳則默認展示為為PC下的樣式。如果傳入“mobile”,則展示為mobile端下的樣式
  18. }
  19. window.open(req_url + ? + buildHttpData(req_data));
  20. }

buildHttpData是我自定義的函數,用于把一個js對象轉化為格式化的url參數。返回值為 {時間戳}&name1=value1&name2=value2&…

然后拼接req_url 后為: https://graph.qq.com/oauth2.0/authorize?1320327350000&response_type=token&client_id=201981&redirect_uri=http%3A%2F%2Fwww.goodje.com%2Flabs%2Flogin%2Fqq_login.php&scope=get_user_info&state=comeonbb

結果,就有了剛才那種情況了

后來分析了半天,網上也完全找不到解決辦法,對比了文檔上url的格式,發現除了多了時間戳外一點區別都沒有,我想了下可能是參數必須是name=value的形式,服務端才能認識吧,因為url中有這么一段:?1320327350000&

而時間戳主要是之前為了防止ajax請求時讀到緩存,所以才自動加上的,以前是從來都沒有問題的,去掉了時間戳后,還不行,急了,仔細一看url,參數部分最前頭還有個&,去了之后,好了,擦。。。正確的獲取access token url為:https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=201981&redirect_uri=http%3A%2F%2Fwww.goodje.com%2Flabs%2Flogin%2Fqq_login.php&state=comeonbb

而如果把時間戳或者任意一段字符串(只要是url中允許存在的字符,而且不是name=value的形式)放到url末尾,也會有問題

如:https://graph.qq.com/oauth2.0/authorize?response_type=token&client_id=201981&redirect_uri=http%3A%2F%2Fwww.goodje.com%2Flabs%2Flogin%2Fqq_login.php&scope=get_user_info&state=comeonbb&1320327350000

會報lost which in paraml(1000028)!錯誤看了下響應頭,server: tnginx

tnginx, 騰訊二次開發并優化過的nginx。難道優化的時候去掉了啥東西么,我記得nginx不會這樣的呀,理論上這是騰訊的一個bug,不說了,反正是很坑爹的。

    龍虎鷹師網安服務器維護方案本篇連接:http://www.vqbhynr.com.cn/show-19706-1.html
網站維護教程更新時間:2013-09-27 10:55:45  【打印此頁】  【關閉
全站連接N點 | 龍虎鷹師網安 |  
專業服務器維護及網站維護手工安全搭建環境,網站安全加固服務。龍虎鷹師網安服務器維護基地招商進行中!請QQ:29769479

footer  footer  互聯網安全  footer    

山东体十一选五走势 连码四全中 免费 哪个时时彩软件哪个好 福建22选5大星走势图 融资炒股是什么意思 天津十一选五中奖规则 免费安徽快3预测软件 今日五粮液股票价格 江西体彩多乐彩 上善若水股票论坛官网 河北十一选五开奖助手 黑龙江11选5号码推荐 股票配资推荐 丨找杨方配资平台 快乐12中奖规则及奖金 广东36选7玩法详细介绍 宁夏11选5购彩平台 1万炒股一年最多挣多少