php新浪微博转发 发布微博apisdk,新浪微博API开发简介之PHP根底篇-用户授权

新浪微博API开发简介之PHP根底篇-用户授权

如今玩微博的人越来越多了,而关于微博的第三方运用开发也越来越多,本人在偶然间末尾接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:,它里面有很片面的新浪微博开发的材料,包括开发者的利用和引见,各种言语的API函数引见文档,SDK等多种材料。

本人在开发和学习的过程中,感觉只管没有太大难度,但还是有一些成绩是需求咱们留意的,今天就我在开发和学习的过程中,简略的对应用PHP停止新浪微博API开发的内容停止一个整顿和阐明,

新浪微博API开发前的预备工作

首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址是:?name=weibo-oauth-class-with-image-avatar-06-29.zip

下载实现后放到本人的开发环境中并解压,在其中也蕴含了demo演示程序,咱们可能参考其样例程序停止编写。

新浪微博API开发最重要的用户授权过程

其真实开发过程中很多的成绩都是集中在用户授权这个阶段,我开发的第三方运用,利用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很明晰残缺的引见,咱们可能到去查看,我这里从实例开发的角度停止引见和阐明。

1.首先获取未授权的Request Token

$o = new WeiboOAuth( WB_AKEY , WB_SKEY );

$keys = $o->getRequestToken();

//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

咱们需求在新浪微博开放平台中注册一个帐号,或间接利用咱们的新浪微博帐号登录,进入我的运用,然后依照揭示创建属于咱们本人的第三方运用,创建实现之后咱们可能失去两个授权的App Key和App Secret值,这两个值就是咱们开发运用的要害。

失去授权值后,咱们就可能应用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。

2.然后申请用户授权Token

$_SESSION['keys'] = $keys;

$aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

失去未授权的Request Token值后,咱们就应用上面的代码可能末尾预备去新浪微博授权页面停止授权,$aurl就是授权链接页面,咱们失去$aurl后就可能应用 header()间接跳转到该授权页面,然后用户输入新浪微博帐号和明码停止授权,授权实现后,主动跳回你在最后一个参数里面设置的回调页面:,该链接你可能设置为上一个页面,这样授权实现之后就会主动又跳转回去了。

需求留意的是设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需求用到的。很多的冤家能够会参考其开放平台上面的阐明来停止授权时,可发现总是出错,普通都是这个成绩,你并未设置session的 keys值,在下面当然取不到Access Token的值了,这个肯定要记住了。

3.最后失去用户授权的Access Token

$o = new WeiboOAuth( WB_AKEY ,

WB_SKEY ,

$_SESSION['keys']['oauth_token'] ,

$_SESSION['keys']['oauth_token_secret'] );

$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;

echo($last_key['oauth_token']);

上面的代码就最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,咱们也可能看到,前面的两个参数就是后面咱们设置的session值。到此就根本实现了,这就是新浪微博用户授权的一个残缺的过程。

授权实现后的工作

在授权实现之后,咱们就可能末尾调用新浪微博提供的各类API函数接口停止实践运用的开发了,在这里我就获取最新微博记载这个接口停止一个简略阐明,其余都类似。

获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:

//获取前20条最新更新的公共微博消息

$c = new WeiboClient( WB_AKEY ,

WB_SKEY ,

$oauth_token ,

$oauth_token_secret );

$msg = $c->public_timeline();

if ($msg === false || $msg === null){

echo "Error occured";

return false;

}

if (isset($msg['error_code']) && isset($msg['error'])){

echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] );

return false;

}

print_r($msg);

通常咱们在失去用户授权的Access Token值之后,就把它们保存在咱们的用户表中,与咱们的运用中的帐号停止对应,之后咱们在调用新浪微博各api接口时就不用每次都去认证了。

上面的代码很简略,实例化WeiboClient对象,然后间接调用接口函数public_timeline就可能失去前往的信息,假设没有谬误的话。通常新浪微博api接口前往的数据格式普通为Json格式或xml格式,而咱们在此是用php停止开发,则利用Json格式的数据就有后天的劣势,假设前往Json格式数据的话,间接利用php函数json_decode()就可能转换为php常用的array数组格式了。

起源:红心草博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值