新浪微博授权登陆获取个人信息

时间:2022-03-14 21:07:54
新浪微博授权登陆获取个人信息
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
 
再就是首页调用
[html]  view plain  copy
 
  1. //引入文件  
  2. /* 载入新浪微博登陆文件 */  
  3. require( dirname(__FILE__) .'/api/weibo/config.php' );  
  4. require(dirname(__FILE__) . '/api/weibo/saetv2.ex.class.php');  
  5.   
  6.   
  7. //第三方新浪微博接入  
  8. $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );  
  9. $code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );  
  10. $smarty->assign('code_url', $code_url);  


 
4.微博登陆之后的callback.php回调文件
[html]  view plai n  copy
 
 
  1. <?php  
  2.     session_start();  
  3.     $site_url = "http:....";  
  4.     include_once( 'config.php' );  
  5.     include_once( 'saetv2.ex.class.php' );  
  6.   
  7.     $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );  
  8.   
  9.     if (isset($_REQUEST['code'])) {  
  10.         $keys = array();  
  11.         $keys['code'] = $_REQUEST['code'];  
  12.         $keys['redirect_uri'] = WB_CALLBACK_URL;  
  13.         try {  
  14.             $token = $o->getAccessToken( 'code', $keys ) ;  
  15.         }   
  16.         catch (OAuthException $e) {  
  17.         }  
  18.     }  
  19.   
  20.     if ($token) {  
  21.         $_SESSION['token'] = $token;  
  22.         setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );  
  23.         $c = new saetclientv2(WB_AKEY,WB_SKEY,$token['access_token']);  
  24.         $ms =$c->home_timeline();  
  25.         $uid_get = $c->get_uid();  
  26.         $uid = $uid_get['uid'];  
  27.         $usr_info=$c->show_user_by_id($uid); //微博sdk方法获取用户的信息  
  28.         register_user_by_weibo($username,$pwd,$email,$id,$token);//实现登陆跳转  
  29.     }else {  
  30.         echo '授权失败。';  
  31.     }  
  32. ?>