新浪微博授权登陆获取个人信息
http://pan.baidu.com/s/1eQ7tNSA 这个是接入的phpsdk 和demo
一、phpsdk的组成
里面看到6个文件:callback.php、config.php、index.php、weibolist.php、weibooauth.php以及.DS_Store这6个文件。
看了下官方的API文档
http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6?sudaref=open.weibo.com&retcode=6102
二、申请APPKEY
这个需要获取App Key 和App Searct 然后在config文件里面修改
APPKEY是新浪微博开放平台对每个唯一的应用生成的,也就是一个应用对应一个APPKEY,当一个应用访问新浪微博的数据时,微博开放平台会验证从应 用发起的request中是否拥有APPKEY和SECRETKEY,所以要想使用新浪微博开放平台你就必须有一个独立的域名,开放平台是根据你的域名进 行生成的APPKEYHE SECRETKEY。
首先创建应用 ,这个可以随便创建一个等到上线之后可以按照自己的需要创建。
三、交互介绍
1.回调地址
在程序中config里面的回调地址和在开发平台设置的必需一直不让会报错 ,找到文件callbak文件路径连接
2. 首页登陆界面调用
首先引入下载sdk 的类 和config
再就是首页调用
- //引入文件
- /* 载入新浪微博登陆文件 */
- require( dirname(__FILE__) .'/api/weibo/config.php' );
- require(dirname(__FILE__) . '/api/weibo/saetv2.ex.class.php');
- //第三方新浪微博接入
- $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
- $code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
- $smarty->assign('code_url', $code_url);
4.微博登陆之后的callback.php回调文件
- <?php
- session_start();
- $site_url = "http:....";
- include_once( 'config.php' );
- include_once( 'saetv2.ex.class.php' );
- $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
- if (isset($_REQUEST['code'])) {
- $keys = array();
- $keys['code'] = $_REQUEST['code'];
- $keys['redirect_uri'] = WB_CALLBACK_URL;
- try {
- $token = $o->getAccessToken( 'code', $keys ) ;
- }
- catch (OAuthException $e) {
- }
- }
- if ($token) {
- $_SESSION['token'] = $token;
- setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
- $c = new saetclientv2(WB_AKEY,WB_SKEY,$token['access_token']);
- $ms =$c->home_timeline();
- $uid_get = $c->get_uid();
- $uid = $uid_get['uid'];
- $usr_info=$c->show_user_by_id($uid); //微博sdk方法获取用户的信息
- register_user_by_weibo($username,$pwd,$email,$id,$token);//实现登陆跳转
- }else {
- echo '授权失败。';
- }
- ?>