您当前的位置: 首页 > 网站编程 > PHP教程 > 新浪微博API开发简介之PHP基础篇-用户授权

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

作者:不详 来源:网络 发布时间: 2014-08-20 13:58 点击:
现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和

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

  现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料。

  自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明,

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

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

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

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

  其实在开发过程中很多的问题都是集中在用户授权这个阶段,我开发的第三方应用,使用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍,我们可以到http://open.weibo.com/wiki/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()直接跳转到该授权页面,然后用户输入新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后一个参数里面设置的回调页面:http://localhost/callback.php,该链接你可以设置为上一个页面,这样授权完成之后就会自动又跳转回去了。

  需要注意的是设置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数组格式了。

  来源:红心草博客

  原文地址:http://www.hongxincao.com/archives/579.html
分享到:
本文"新浪微博API开发简介之PHP基础篇-用户授权"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4