唐山网站建设

设为主页 加入收藏 繁體中文

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

%3Cp%3E

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

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

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

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

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

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

实在在开发进程中很多的题目都是集中在用户授权这个阶段,我开发的第3方利用,使用的是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']);

我们需要在新浪微博开放平台中注册1个帐号,或直接使用我们的新浪微博帐号登录,进进我的利用,然后依照提示创建属于我们自己的第3方利用,创建完成以后我们可以得到两个授权的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()直接跳转到该授权页面,然后用户输进新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后1个参数里面设置的回调页面:http://localhost/callback.php,该链接你可以设置为上1个页面,这样授权完成以后就会自动又跳转回往了。

需要留意的是设置session的keys的值是必须的,它在下面获得到授权的Access Token中是需要用到的。很多的朋友可能会参考其开放平台上面的说明来进行授权时,可发现总是出错,1般都是这个题目,你并未设置session的keys值,在下面固然取不到Access Token的值了,这个1定要记住了。

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值。到此就基本完成了,这就是新浪微博用户授权的1个完全的进程。

授权完成后的工作

在授权完成以后,我们便可以够开始调用新浪微博提供的各类API函数接口进行实际利用的开发了,在这里我就获得最新微博记录这个接口进行1个简单说明,其他都类似。

获得最新新浪微博信息的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接口返回的数据格式1般为Json格式或xml格式,而我们在此是用php进行开发,则使用Json格式的数据就有先天的上风,假设返回Json格式数据的话,直接使用php函数json_decode()便可以够转换为php常常使用的array数组格式了。

来源:红心草博客

原文地址:http://www.hongxincao.com/archives/579.html

感谢 红心草 的投稿

唐山网站建设www.fw8.net%3C%2Fp%3E
TAG:用户,新浪,帐号,函数,接口
评论加载中...
内容:
评论者: 验证码: