腾讯空间、新浪微博、腾讯微博登录接口的使用

来源:互联网 发布:chrome谷歌浏览器mac 编辑:程序博客网 时间:2024/06/07 13:06

腾讯空间、新浪微博、腾讯微博登录接口的使用。

注意:在网站对接前,请先申请注册好您的QQ登录appid、新浪登录Appkey、腾讯微博appkey。

1、引用JS文件

[html] view plain copy
  1. <script src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="appid"  type="text/javascript" language="javascript"></script>  <!--腾讯QQ-->    
  2. <script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=Appkey" type="text/javascript" language="javascript"></script>  <!--新浪微博-->    
  3. <script type="text/javascript" src="http://mat1.gtimg.com/app/openjs/openjs.js"></script>   <!--腾讯微博-->  

其中,上面代码中的“APPID”替换为申请接入QQ登录时获得的appid;“Appkey”替换为申请接入新浪登录时获得的Appkey。

2、HTML代码

[html] view plain copy
  1. <span id="tpa_login_qq"></span>    
  2. <span id="tpa_login_sina"></span>  
  3. <span id="tpa_login_tqq"></span>  

3、JS脚本

[javascript] view plain copy
  1. $(document).ready(function() {  
  2.     tpaLogin.init();  
  3. });  
  4.   
  5. //第三方平台登录  
  6. var tpaLogin = {  
  7.     init: function() {  
  8.         tpaLogin.qzone();    //初始化QQ登录  
  9.         tpaLogin.sina();     //初始化新浪登录  
  10.         tpaLogin.tqq();      //初始化腾讯微博登录  
  11.     },  
  12.     //保存登录用户信息    
  13.     param: {  
  14.         tpaUserSerialNo: '',   //用户序号    
  15.         nickname: '',          //用户昵称    
  16.         figureurl1: '',        //用户头像Url(小图)    
  17.         figureurl2: '',        //用户头像Url(中图)    
  18.         figureurl3: '',        //用户头像Url(大图)    
  19.         gender: ''             //性别(1:男、2:女)    
  20.     },  
  21.     //参数重置    
  22.     paramReset: function() {  
  23.         tpaLogin.param.tpaUserSerialNo = '';  
  24.         tpaLogin.param.nickname = '';  
  25.         tpaLogin.param.figureurl1 = '';  
  26.         tpaLogin.param.figureurl2 = '';  
  27.         tpaLogin.param.figureurl3 = '';  
  28.     },  
  29.     //QQ空间    
  30.     qzone: function() {  
  31.         QC.Login(  
  32.             {  
  33.                 btnId: "tpa_login_qq",  
  34.                 //按钮尺寸,可用值[A_XL| A_L| A_M| A_S|  B_M| B_S| C_S],可选,默认B_S  
  35.                 size: "B_M"  
  36.             },  
  37.             function(reqData, opts) {  
  38.                 tpaLogin.paramReset();  
  39.                 //获取登录用户信息    
  40.                 QC.Login.getMe(function(openId, accessToken) {  
  41.                     tpaLogin.param.tpaUserSerialNo = openId;     //用户序号    
  42.                 });  
  43.                 tpaLogin.param.nickname = reqData.nickname;  
  44.                 tpaLogin.param.figureurl1 = reqData.figureurl;  
  45.                 tpaLogin.param.figureurl2 = reqData.figureurl_1;  
  46.                 tpaLogin.param.figureurl3 = reqData.figureurl_2;  
  47.                 if (reqData.gender == "男") {  
  48.                     tpaLogin.param.gender = 1;  
  49.                 } else {  
  50.                     tpaLogin.param.gender = 2;  
  51.                 }  
  52.   
  53.                 //根据返回数据,更换按钮显示状态方法    
  54.                 var dom = document.getElementById(opts['btnId']),  
  55.                _logoutTemplate = [  
  56.                 //头像    
  57.                     '<span><img src="{figureurl}" class="{size_key}"/></span>',  
  58.                 //昵称    
  59.                     '<span>{nickname}</span>',  
  60.                 //退出    
  61.                     '<span><a href="javascript:QC.Login.signOut();">退出</a></span>'  
  62.                ].join("");  
  63.                 dom && (dom.innerHTML = QC.String.format(_logoutTemplate, {  
  64.                     nickname: QC.String.escHTML(reqData.nickname), //做xss过滤    
  65.                     figureurl: reqData.figureurl  
  66.                 }));  
  67.             },  
  68.             function(opts) {  
  69.                 //注销成功    
  70.                 alert('QQ登录 注销成功');  
  71.             }  
  72.         );  
  73.     },  
  74.     //新浪    
  75.     sina: function() {  
  76.         WB2.anyWhere(function(W) {  
  77.             W.widget.connectButton({  
  78.                 id: "tpa_login_sina",   //按钮ID    
  79.                 type: "3,5",            //按钮样式    
  80.                 callback: {  
  81.                     login: function(ret) {  
  82.                         tpaLogin.paramReset();  
  83.                         //获取登录用户信息    
  84.                         tpaLogin.param.tpaUserSerialNo = ret.id;    //用户序号    
  85.                         tpaLogin.param.nickname = ret.screen_name;  
  86.                         tpaLogin.param.figureurl1 = ret.profile_image_url;  
  87.                         tpaLogin.param.figureurl2 = ret.avatar_large;  
  88.                         tpaLogin.param.figureurl3 = ret.avatar_large;  
  89.                         if (ret.gender == "m") {  
  90.                             tpaLogin.param.gender = 1;  
  91.                         } else {  
  92.                             tpaLogin.param.gender = 2;  
  93.                         }  
  94.                     },  
  95.                     logout: function() {  
  96.                         //注销成功    
  97.                         alert('新浪登录 注销成功');  
  98.                     }  
  99.                 }  
  100.             })  
  101.         })  
  102.     },  
  103.     //腾讯微博  
  104.     tqq: function() {  
  105.         T.init({  
  106.             appkey: appkey  
  107.         });  
  108.   
  109.         var _loginBtn = $('<a href="javascript:;">登录到腾讯微博</a>').appendTo($("#tpa_login_tqq")).click(function() {  
  110.             T.login(function(loginStatus) { // 弹出登录窗口  
  111.                 // 本次登录成功  
  112.                 var _name = $('<span style="display:none;"></span>').appendTo($("#tpa_login_tqq"));  
  113.                 var _logoutBtn = $('<a href="javascript:;" style="display:none;margin-left:5px;">退出</a>').appendTo($("#tpa_login_tqq")).click(function() {  
  114.                     T.logout(function() {  
  115.                         //注销成功  
  116.                         alert('腾讯微博 注销成功');  
  117.                         _name.hide();  
  118.                         _logoutBtn.hide();  
  119.                         _loginBtn.show();  
  120.                     })  
  121.                 });  
  122.                 _name.show().text(loginStatus.nick);  
  123.                 _logoutBtn.show();  
  124.                 _loginBtn.hide();  
  125.                 //获取微博信息  
  126.                 T.api("/user/info")  
  127.                  .success(function(response) {  
  128.                      tpaLogin.param.tpaUserSerialNo = response.data.openid;    //用户序号  
  129.                      tpaLogin.param.nickname = response.data.nick;  
  130.                      tpaLogin.param.figureurl1 = response.data.head;  
  131.                      tpaLogin.param.figureurl2 = response.data.head;  
  132.                      tpaLogin.param.figureurl3 = response.data.head;  
  133.                      if (response.data.sex == "1") {  
  134.                         tpaLogin.param.gender = 1;  
  135.                     } else {  
  136.                         tpaLogin.param.gender = 2;  
  137.                     }  
  138.                  })  
  139.                  .error(function(code, message) {  
  140.                      alert(message);  
  141.                  });  
  142.             }, function(error) {  
  143.                 // 本次登录成功  
  144.                 //alert("登录失败");  
  145.             });  
  146.         });  
  147.     },  
  148.     //退出    
  149.     logout: function() {  
  150.         if (QC.Login != null && QC.Login.check()) {  
  151.             QC.Login.signOut();  
  152.         }  
  153.         else if (WB2 != null && WB2.checkLogin()) {  
  154.             WB2.logout();  
  155.         }  
  156.         else if (T.loginStatus()) {  
  157.             T.logout();  
  158.         }  
  159.     }  
  160.   
  161. };   

附件

1、QQ登录文档:http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

2、新浪登录文档: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

3、腾讯微博文档:http://wiki.open.t.qq.com/index.php/Open-js

来源于:http://blog.csdn.net/pan_junbiao/article/details/17507065

0 0
原创粉丝点击