使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台复制代码代码:$_$数组(图))

优采云 发布时间: 2022-03-08 22:06

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台复制代码代码:$_$数组(图))

  本节内容:

  新浪微博API的php实例。

  新浪微博API开发资源很多。新浪微博为开发者提供平台。该网站是: 收录新浪微博发展的综合信息,包括开发者的使用和介绍,以及各种语言。API功能介绍文档、SDK等资料。

  首先,在新浪微博开放平台下载基于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.请求用户授权Token

  复制代码代码示例:

  $_SESSION['keys'] = $keys;

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

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

  注意:需要设置会话密钥的值,这是获取下面授权的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'] ) ;

  回声($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'].'; 错误: '.$msg['error'] );

  返回假;

  }

  print_r($msg);

  通常,在获取到用户授权的Access Token值后,存储在用户表中,与应用中的账号对应。之后,在每次调用新浪微博的各个api接口时,就无需再进行认证了。

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线