使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的精品教程,程序狗速度看过来!)

优采云 发布时间: 2022-01-04 08:07

  使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的精品教程,程序狗速度看过来!)

  这里是新鲜出品的优质教程,看程序狗的速度!

  新浪微博 新浪微博是新浪网为提供微博服务而推出的一种推特网站。用户可以通过网页、WAP页面、手机客户端、手机短信、彩信发布消息或上传图片。新浪可以将微博理解为“微博”或“一句话博客”。

  本文讲解了新浪微博API开发介绍(PHP基础)的用户授权,有兴趣的同学可以参考。

  在开发和学习的过程中,感觉虽然不是太难,但还是有一些问题需要大家注意。今天在开发学习过程中,简单的用PHP进行了新浪微博整理讲解API开发的内容

  现在玩微博的人越来越多,微博上的第三方应用开​​发也越来越多。无意中开始接触新浪微博API开发,新浪微博API开发资源更多时候,新浪微博为开发者提供了一个平台。网站为: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等多种资料。

  在开发和学习的过程中,感觉虽然不是太难,但还是有一些问题需要大家注意。今天在开发学习的过程中,简单的用PHP进行了新浪微博对API开发的内容进行整理和讲解,

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

  首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址为:

  下载完成后,放到自己的开发环境中解压。演示程序也包括在内。可以参考其示例程序进行编写。

  新浪微博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.然后请求用户授权令牌

  $_SESSION['keys'] = $keys;

  aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false,'#39;);

  获取到未授权Request Token值后,我们可以使用上面的代码准备去新浪微博授权页面进行授权。 $aurl 是授权链接页面。拿到$aurl后,我们可以使用header()直接跳转到授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后会自动跳转回你最后一个参数设置的回调页面:这个链接可以设置为上一个页面,授权完成后会自动再跳转回来。

  需要注意的是,需要设置session key的值。下面获得的授权访问令牌中需要它。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错。这通常是问题所在。您尚未设置会话的键值。当然,下面无法获取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 "发生错误";

  返回假;

  }

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

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

  返回假;

  }

  print_r($msg);

  通常我们拿到用户授权的access token值后,会保存在我们的user表中,对应我们应用中的账号。之后,我们就不用每次都调用每个新浪微博API接口了。我一直都在考认证。

  上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回的信息,如果没有报错。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里是用php开发的,那么使用Json格式数据有先天优势,如果返回Json格式数据,直接使用php即可。函数json_decode()可以转换成PHP常用的数组格式。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线