• 第三方登陆--新浪


    一、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
     
    再就是首页调用
    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回调文件
    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. ?>  


    ?>
  • 相关阅读:
    Laravel框架中的event事件操作
    PHP魔术方法实例
    PHP 面向对象
    ThinkPHP中where()使用方法详解
    PHP常见错误提示含义解释
    php面向对象编程self和static的区别
    php文件路径获取文件名
    php三种无限分类
    php高精度计算问题
    转:JavaScript定时机制、以及浏览器渲染机制 浅谈
  • 原文地址:https://www.cnblogs.com/wenxinphp/p/5800387.html
Copyright © 2020-2023  润新知