騰訊空間、新浪微博、騰訊微博登陸接口

騰訊空間、新浪微博、騰訊微博登陸接口的使用。javascript

注意:在網站對接前,請先申請註冊好您的QQ登陸appid、新浪登陸Appkey、騰訊微博appkey。php

一、引用JS文件java

<script src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="appid"  type="text/javascript" language="javascript"></script>  <!--騰訊QQ-->  
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=Appkey" type="text/javascript" language="javascript"></script>  <!--新浪微博-->  
<script type="text/javascript" src="http://mat1.gtimg.com/app/openjs/openjs.js"></script>   <!--騰訊微博-->

其中,上面代碼中的「APPID」替換爲申請接入QQ登陸時得到的appid;「Appkey」替換爲申請接入新浪登陸時得到的Appkey。api

二、HTML代碼app

<span id="tpa_login_qq"></span>  
<span id="tpa_login_sina"></span>
<span id="tpa_login_tqq"></span>

三、JS腳本dom

$(document).ready(function() {
    tpaLogin.init();
});

//第三方平臺登陸
var tpaLogin = {
    init: function() {
        tpaLogin.qzone();    //初始化QQ登陸
        tpaLogin.sina();     //初始化新浪登陸
        tpaLogin.tqq();      //初始化騰訊微博登陸
    },
    //保存登陸用戶信息  
    param: {
        tpaUserSerialNo: '',   //用戶序號  
        nickname: '',          //用戶暱稱  
        figureurl1: '',        //用戶頭像Url(小圖)  
        figureurl2: '',        //用戶頭像Url(中圖)  
        figureurl3: '',        //用戶頭像Url(大圖)  
        gender: ''             //性別(1:男、2:女)  
    },
    //參數重置  
    paramReset: function() {
        tpaLogin.param.tpaUserSerialNo = '';
        tpaLogin.param.nickname = '';
        tpaLogin.param.figureurl1 = '';
        tpaLogin.param.figureurl2 = '';
        tpaLogin.param.figureurl3 = '';
    },
    //QQ空間  
    qzone: function() {
        QC.Login(
            {
                btnId: "tpa_login_qq",
                //按鈕尺寸,可用值[A_XL| A_L| A_M| A_S|  B_M| B_S| C_S],可選,默認B_S
                size: "B_M"
            },
            function(reqData, opts) {
                tpaLogin.paramReset();
                //獲取登陸用戶信息  
                QC.Login.getMe(function(openId, accessToken) {
                    tpaLogin.param.tpaUserSerialNo = openId;     //用戶序號  
                });
                tpaLogin.param.nickname = reqData.nickname;
                tpaLogin.param.figureurl1 = reqData.figureurl;
                tpaLogin.param.figureurl2 = reqData.figureurl_1;
                tpaLogin.param.figureurl3 = reqData.figureurl_2;
                if (reqData.gender == "男") {
                    tpaLogin.param.gender = 1;
                } else {
                    tpaLogin.param.gender = 2;
                }

                //根據返回數據,更換按鈕顯示狀態方法  
                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登陸 註銷成功');
            }
        );
    },
    //新浪  
    sina: function() {
        WB2.anyWhere(function(W) {
            W.widget.connectButton({
                id: "tpa_login_sina",   //按鈕ID  
                type: "3,5",            //按鈕樣式  
                callback: {
                    login: function(ret) {
                        tpaLogin.paramReset();
                        //獲取登陸用戶信息  
                        tpaLogin.param.tpaUserSerialNo = ret.id;    //用戶序號  
                        tpaLogin.param.nickname = ret.screen_name;
                        tpaLogin.param.figureurl1 = ret.profile_image_url;
                        tpaLogin.param.figureurl2 = ret.avatar_large;
                        tpaLogin.param.figureurl3 = ret.avatar_large;
                        if (ret.gender == "m") {
                            tpaLogin.param.gender = 1;
                        } else {
                            tpaLogin.param.gender = 2;
                        }
                    },
                    logout: function() {
                        //註銷成功  
                        alert('新浪登陸 註銷成功');
                    }
                }
            })
        })
    },
    //騰訊微博
    tqq: function() {
        T.init({
            appkey: appkey
        });

        var _loginBtn = $('<a href="javascript:;">登陸到騰訊微博</a>').appendTo($("#tpa_login_tqq")).click(function() {
            T.login(function(loginStatus) { // 彈出登陸窗口
                // 本次登陸成功
                var _name = $('<span style="display:none;"></span>').appendTo($("#tpa_login_tqq"));
                var _logoutBtn = $('<a href="javascript:;" style="display:none;margin-left:5px;">退出</a>').appendTo($("#tpa_login_tqq")).click(function() {
                    T.logout(function() {
                        //註銷成功
                        alert('騰訊微博 註銷成功');
                        _name.hide();
                        _logoutBtn.hide();
                        _loginBtn.show();
                    })
                });
                _name.show().text(loginStatus.nick);
                _logoutBtn.show();
                _loginBtn.hide();
                //獲取微博信息
                T.api("/user/info")
	             .success(function(response) {
	                 tpaLogin.param.tpaUserSerialNo = response.data.openid;    //用戶序號
	                 tpaLogin.param.nickname = response.data.nick;
	                 tpaLogin.param.figureurl1 = response.data.head;
	                 tpaLogin.param.figureurl2 = response.data.head;
	                 tpaLogin.param.figureurl3 = response.data.head;
	                 if (response.data.sex == "1") {
                        tpaLogin.param.gender = 1;
                    } else {
                        tpaLogin.param.gender = 2;
                    }
	             })
                 .error(function(code, message) {
                     alert(message);
                 });
            }, function(error) {
                // 本次登陸成功
                //alert("登陸失敗");
            });
        });
    },
    //退出  
    logout: function() {
        if (QC.Login != null && QC.Login.check()) {
            QC.Login.signOut();
        }
        else if (WB2 != null && WB2.checkLogin()) {
            WB2.logout();
        }
        else if (T.loginStatus()) {
            T.logout();
        }
    }

};

附件
xss

一、QQ登陸文檔:http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8Eide

二、新浪登陸文檔:http://open.weibo.com/wiki/index.php/Weibo-JS_V2#.E5.BE.AE.E5.8D.9A.E8.BF.9E.E6.8E.A5.E6.8C.89.E9.92.AE網站

三、騰訊微博文檔:http://wiki.open.t.qq.com/index.php/Open-jsurl

相關文章
相關標籤/搜索