網站接入QQ登入,接入qq登入
首先引入授權js檔案
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="101140406" data-redirecturi="http://127.0.0.1" charset="utf-8"></script>
然後接入QQ登入
第一種使用系統內建按鈕登入,但是這樣會彈出新視窗,不喜歡 //調用QC.Login方法,指定btnId參數將按鈕綁定在容器節點中 QC.Login({ //btnId:插入按鈕的節點id,必選 btnId:"qqLoginBtn", //使用者需要確認的scope授權項,可選,預設all scope:"all", //按鈕尺寸,可用值[A_XL| A_L| A_M| A_S| B_M| B_S| C_S],可選,預設B_S size: "B_M" }, function(reqData, opts){//登入成功 console.log(reqData, opts); //根據返回資料,更換按鈕顯示狀態方法 var dom = document.getElementById(opts['btnId']), _logoutTemplate=[ //頭像 '<span><img src="{figureurl}" class="{size_key}"/></span>', //暱稱 '<span>{nickname}</span>', //退出 '<span><a href="javascript:QC.Login.signOut();">退出</a></span>' ].join(""); dom && (dom.innerHTML = QC.String.format(_logoutTemplate, { nickname : QC.String.escHTML(reqData.nickname), //做xss過濾 figureurl : reqData.figureurl })); }, function(opts){//登出成功 alert('QQ登入 登出成功'); });第二種,使用自訂按鈕<a>標籤連結過去,然後成功後調用這個地址,a標籤的href可以參考第一種window.locationQC.api("get_user_info", {}) //指定介面訪問成功的接收函數,s為成功返回Response對象 .success(function(s){ console.log(s); //成功回調,通過s.data擷取OpenAPI的返回資料 alert("擷取使用者資訊成功!目前使用者暱稱為:"+s.data.nickname); }) //指定介面訪問失敗的接收函數,f為失敗返回Response對象 .error(function(f){ //失敗回調 alert("擷取使用者資訊失敗!"); }) //指定介面完成請求後的接收函數,c為完成請求返回Response對象 .complete(function(c){ //完成請求回調 alert("擷取使用者資訊完成!"); });//檢查是否登入 if(QC.Login.check()){//如果已登入 QC.Login.getMe(function(openId, accessToken){ alert(["當前登入使用者的", "openId為:"+openId, "accessToken為:"+accessToken].join("\n")); }); //這裡可以調用自己的儲存介面 //... }
網站上怎接入類似discuz論壇上的QQ登入
到QQ開放平台,就會看到網站接入,複製網站接入的代碼按照開放平台的要求放到相應的位置即可
有網站中怎接入QQ登入?詳細的代碼
要使用tx 的介面; 因為用qq登入時 必須要驗證到tx的qq 的密碼資料庫;所以; 只要一個介面; 加一個連結就好了