PHP微博授权第三方登录(附源码)

在微博开发平台申请:
微博开发平台
本次使用的账号:1318*
选择网站接入:
在这里插入图片描述
点击立即接入:
在这里插入图片描述
输入应用名称并选择分类,点击创建:
在这里插入图片描述
按要求填写内容:
在这里插入图片描述
全部按要求填好点击申请即可开始开发

下面开始就用已经申请好的应用来进行操作

需要用到的几个参数有:
App Key
App Secret
回调地址
在这里插入图片描述
在这里插入图片描述
使用GITHUB下载PHPSDK:
PHP SDK 地址
打开config.php配置文件,将参数值填入即可:
在这里插入图片描述
修改callback.php,打印返回值:

<?php
session_start();
include_once( 'config.php' );
include_once( 'saetv2.ex.class.php' );
include_once( 'common.php' );

function dump($arr){
    echo "<pre>";
    var_dump($arr);
    echo "</pre>";
}


$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) );

?>
授权完成,<a href="weibolist.php">进入你的微博列表页面</a><br />
<?php
} else {
?>
授权失败。
<?php
}

dump($_SESSION['token']);
?>

修改weibolist.php,打印返回值:

<?php
session_start();

include_once( 'config.php' );
include_once( 'saetv2.ex.class.php' );
function dump($arr){
        echo "<pre>";
        var_dump($arr);
        echo "</pre>";
}
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ms  = $c->home_timeline(); // done
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息
if( array_key_exists('error', $user_message))
{
	echo "错误";
}
dump( $user_message);
?>
<!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>新浪微博V2接口演示程序-Powered by Sina App Engine</title>
</head>

<body>
	<?=$user_message['screen_name']?>,您好! 
	<h2 align="left">发送新微博</h2>
	<form action="" >
		<input type="text" name="text" style="width:300px" />
		<input type="submit" />
	</form>
<?php
if( isset($_REQUEST['text']) ) {
	// 注意至少要带上一个链接。
	$text = urlencode( $_REQUEST['text']);
	echo $text;
	$ret = $c->share( $text );	//发送微博
	if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
		dump($ret);
		echo "<p>发送失败,错误:{$ret['error_code']}:{$ret['error']}</p>";
	} else {
		echo "<p>发送成功</p>";
	}
}
?>

<?php// if( is_array( $ms['statuses'] ) ): ?>
<?php// foreach( $ms['statuses'] as $item ): ?>
<div style="padding:10px;margin:5px;border:1px solid #ccc">
	<?=$item['text'];?>
</div>
<?php //endforeach; ?>
<?php// endif; ?>

</body>
</html>

到这一步,基本就算完成了,接下来进行测试

测试:

在网页中打开应用地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拿到access_token、uid接下来就可以通过API获取用户基本信息了

代码包地址

总结:

PHP SDK已经封装好我们想要的功能,我们只需要把下面三个参数填到config.php中
就可以进行测试了。

App Key
App Secret
回调地址

//todo:应用到项目中去
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值