1.去新浪开放平台下载一个授权demo

2.index.php

<?php
session_start();

include_once( \'config.php\' );
include_once( \'saetv2.ex.class.php\' );

$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
//跳转到授权的弹出框
$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>新浪微博PHP SDK V2版 Demo - Powered by Sina App Engine</title>
</head>

<body>
    <!-- 授权按钮 -->
    <p><a href="<?php echo $code_url;?>"><img src="weibo_login.png" title="点击进入授权页面" alt="点击进入授权页面" border="0" /></a></p>

</body>
</html>

3.config.php

<?php
header(\'Content-Type: text/html; charset=UTF-8\');

define( "WB_AKEY" , \'2145580683\' );
define( "WB_SKEY" , \'5a21c49f0e05a772c6df66f1d34dbed9\' );
//回调地址:这个必须调用线上的才行
define( "WB_CALLBACK_URL" , \'http://zrpzy.sinaapp.com/callback\' ); ?>

4.callback.php

<?php
/**
 * Created by JetBrains PhpStorm.
 * User: zhangys
 * Date: 12-3-22
 * Time: 上午7:43
 * To change this template use File | Settings | File Templates.
 */
//if ($this->user->is_logged) {
//    $this->user->logout();
//    //   $this->redirect(\'login/sina\');
//}
$o = new SaeTOAuthV2($C->sina_appkey, $C->sina_appsecrect);
if (isset($_REQUEST[\'code\'])) {
    $keys = array();
    $keys[\'code\'] = $_REQUEST[\'code\'];
    $keys[\'redirect_uri\'] = $C->SITE_URL . \'login/sina\';
    $token = $o->getAccessToken(\'code\', $keys);
  //如果用户授权了就会得到一个token值
if ($token) { //echo \'1\';die; //$this->redirect(\'home\');die; //保存token $exptime = $token[\'remind_in\'] + time(); $dbm->query(\'replace into token_sina set sina_uid= \' . $token[\'uid\'] . \',access_token="\' . $token[\'access_token\'] . \'",exptime=\' . $exptime); //保存用户信息 $c = new SaeTClientV2($C->sina_appkey, $C->sina_appsecrect, $token[\'access_token\']); $me = $c->show_user_by_id($token[\'uid\']); //根据ID获取用户等基本信息 //print_r($me); $dbm->query(\'SELECT uid FROM users_sina WHERE sina_uid="\'.$token[\'uid\'].\'" LIMIT 1\'); if( 0 == $dbm->num_rows() ) { //写入用户信息 $dbm->query(\'INSERT INTO users SET email="\' .$me[\'id\'] . \'@weibo.com", username="\' . $dbm->e($me[\'name\']) . \'", password="no",reg_date="\' . time() . \'", reg_ip="\' . ip2long($_SERVER[\'REMOTE_ADDR\']) . \'", active=1\'); $user_id = intval($dbm->insert_id()); $dbm->query(\'replace into users_sina set uid= \'.$user_id .\' ,sina_uid=\'.$me[\'id\'].\' ,name="\'.$me[\'name\'].\'" ,province=\'.$me[\'province\'].\' ,city=\'.$me[\'city\'].\' ,domain="\'.$me[\'domain\'].\'",gender="\'.$me[\'gender\'].\'",followers_count=\'.$me[\'followers_count\'].\',friends_count=\'.$me[\'friends_count\'].\' ,statuses_count=\'.$me[\'statuses_count\'].\' ,created_at=\'.strtotime($me[\'created_at\']).\' ,verified=\'.intval($me[\'verified\']).\',verified_type=\'.$me[\'verified_type\'].\' ,description="\'.$dbm->e($me[\'description\']).\'"\'); //登录 $this->user->login($me[\'id\'] . "@weibo.com", "no"); $this->network->get_user_by_id($this->user->info->id,true); $this->redirect(\'home\'); }else{ //登录 $this->user->login($me[\'id\'] . "@weibo.com", "no"); $this->network->get_user_by_id($this->user->info->id,true); $this->redirect(\'home\'); } }else { $code_url = $o->getAuthorizeURL($C->SITE_URL . \'login/sina\'); $this->network->get_user_by_id($this->user->info->id,true); $this->redirect($code_url); } } else { //未授权时跳转 // echo \'4\';die; $code_url = $o->getAuthorizeURL($C->SITE_URL . \'login/sina\'); $this->redirect($code_url); } ?>

 

 

版权声明:本文为zrp2013原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zrp2013/archive/2013/05/12/3074773.html