第三方(Sina、RR、QQ)API同步登录

话说,这都是一年以前就想写的,一直都没想起这件事了,最近发现很多人都在做关于这个方面应用(虽然RR都黯然神伤了,陌陌已经整装待发了),但还是将自己的心得总结一下,分享给有需要的小伙伴们吧!其实也是比较简单的操作,老鸟可飞过,只为新手指路。

同步登录之QQ

  • 首先介绍QQ,先去其 开放平台官网 申请账号并认证得到appid和appkey,还是需要科普一下,appid:应用的唯一标识,在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值;appkey:appid对应的密钥,访问用户资源时用来验证应用的合法性。在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值,并申请需要回调的地址callbackURL,由于目前TX使用的是OAuth2.0认证(老版本就可以不用往下看了),然后可以去官方下载相应的SDK,取其核心文件(comm/config.php、class/QC.class.php)包含即可(SDK文末附上)。

    如下是登录地址调用:

    1
    2
    3
    4
    require_once('./comm/config.php');//这里需要替换appid、appkey以及callback为申请的参数值
    require_once('./class/QC.class.php');
    $qq = new QC();
    $qq_url$qq->qq_login();//这就是登录地址

将上述地址置于前端页面点击链接即可去调取TX第三方相应的登录界面(有PAD、移动、PC类型),输入TX账号登陆并授权即可(前提是你的站点已经通过认证),否则只能使用测试账号进行登录(申请应用注册的账号)。

授权完成之后,接下来就可以到回调页面进行操作或者获取用户信息等等操作了,获取登录用户信息的接口是get_user_info,具体如下调用:

1
https://graph.qq.com/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID

替换access_token为登录后返回地址栏上的access_token,oauth_consumer_key是申请的appid,openid是在授权过程中生成的,可以直接获取到,获取调用$qq ->get_openid()获取,这就是简单的TX登录授权并获取用户信息。

同步登录之Sina

  • Sina的申请和TX大同小异,先移步 微博开放平台官方 注册申请获取appkey和secretkey以及回调地址,如下是登录地址调用:
    1
    2
    3
    4
    include_once('./config.php');
    include_once('./saetv2.ex.class.php');
    $webo = new SaeTOAuthV2( WB_AKEY, WB_SKEY );//参数分别为appkey和secretkey
    $weibo_url = $webo->getAuthorizeURL( WB_CALLBACK_URL );//参数为申请的回调地址

将得到的登录地址置于前端点击即可跳转到微博的第三方登录界面,这里也可以设置各种端的调用展示效果。比较完善的一点是它提供了各种调用结果错误码的解释,可以更快更有效的帮助新手使用。授权完成即可在回调页面进行调用获取用户信息等等操作,由于微博的接口函数很多,就不一一举例了(SDK文末附上)。

同步登录之RR

  • RR的申请还是一样,只好去 RR开放平台 注册了!然后一样的拿到appkey和secretkey还要回调地址,这样就可以直接调用登录地址了:
    1
    2
    3
    4
    require_once ('./config.inc.php');
    include_once('./RennClientBase.php');
    $renren = new RennClientBase(RR_AKEY, RR_SKEY );//参数分别为appkey和secretkey
    $renren_url = $renren->getAuthorizeURL(RR_CALLBACK_URL);//参数为申请的回调地址

和上面两种例子一样操作完成之后再相对应的回调页面处理结果即可!(SDK文末附上)

SDK下载: QQSDKWBSDKRRSDK

(The End)

坚持原创技术分享,您的支持将鼓励我继续创作!