色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

新浪微博API開發(fā)簡介之用戶授權(quán)(PHP基礎(chǔ)篇)

現(xiàn)在玩微博的人越來越多了,而關(guān)于微博的第三方應(yīng)用開發(fā)也越來越多,自己在偶然間開始接觸了新浪微博API開發(fā),新浪微博API開發(fā)的資源比較多,新浪微博提供了一個開發(fā)者的平臺,網(wǎng)址是:http://open.weibo.com,它里面有很全面的新浪微博開發(fā)的資料,包括開發(fā)者的使用和介紹,各種語言的API函數(shù)介紹文檔,SDK等多種資料。

自己在開發(fā)和學習的過程中,感覺雖然沒有太大難度,但還是有一些問題是需要我們注意的,今天就我在開發(fā)和學習的過程中,簡單的對利用php進行新浪微博API開發(fā)的內(nèi)容進行一個整理和說明,

新浪微博API開發(fā)前的準備工作

首先到新浪微博開放平臺下載基于php的SDK開發(fā)包,下載地址是:http://code.google.com/p/libweibo/downloads/detail?name=weibo-oauth-class-with-image-avatar-06-29.zip

下載完成后放到自己的開發(fā)環(huán)境中并解壓,在其中也包含了demo演示程序,我們可以參考其樣例程序進行編寫。

新浪微博API開發(fā)最重要的用戶授權(quán)過程

其實在開發(fā)過程中很多的問題都是集中在用戶授權(quán)這個階段,我開發(fā)的第三方應(yīng)用,使用的是OAuth授權(quán),關(guān)于OAuth授權(quán)的流程在新浪微博開放平臺里有很清晰完整的介紹,我們可以到http://open.weibo.com/wiki/Oauth去查看,我這里從實例開發(fā)的角度進行介紹和說明。

1.首先獲取未授權(quán)的Request Token
復(fù)制代碼 代碼如下:
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

我們需要在新浪微博開放平臺中注冊一個帳號,或直接使用我們的新浪微博帳號登錄,進入我的應(yīng)用,然后按照提示創(chuàng)建屬于我們自己的第三方應(yīng)用,創(chuàng)建完成之后我們可以得到兩個授權(quán)的App Key和App Secret值,這兩個值就是我們開發(fā)應(yīng)用的關(guān)鍵。
得到授權(quán)值后,我們就可以利用上面的代碼獲得未授權(quán)的Request Token值了,它們會保存在$key數(shù)組變量中。
2.然后請求用戶授權(quán)Token
復(fù)制代碼 代碼如下:
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

得到未授權(quán)的Request Token值后,我們就利用上面的代碼可以開始準備去新浪微博授權(quán)頁面進行授權(quán),$aurl就是授權(quán)鏈接頁面,我們得到$aurl后就可以利用header()直接跳轉(zhuǎn)到該授權(quán)頁面,然后用戶輸入新浪微博帳號和密碼進行授權(quán),授權(quán)完成后,自動跳回你在最后一個參數(shù)里面設(shè)置的回調(diào)頁面:http://localhost/callback.php,該鏈接你可以設(shè)置為上一個頁面,這樣授權(quán)完成之后就會自動又跳轉(zhuǎn)回去了。
需要注意的是設(shè)置session的keys的值是必須的,它在下面獲取到授權(quán)的Access Token中是需要用到的。很多的朋友可能會參考其開放平臺上面的說明來進行授權(quán)時,可發(fā)現(xiàn)總是出錯,一般都是這個問題,你并未設(shè)置session的keys值,在下面當然取不到Access Token的值了,這個一定要記住了。
3.最后得到用戶授權(quán)的Access Token
復(fù)制代碼 代碼如下:
$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']);

上面的代碼就最終獲得了用戶授權(quán)的Access Token,共兩個值,它們保存在$last_key數(shù)組變量里面,我們也可以看到,后面的兩個參數(shù)就是前面我們設(shè)置的session值。到此就基本完成了,這就是新浪微博用戶授權(quán)的一個完整的過程。
授權(quán)完成后的工作
在授權(quán)完成之后,我們就可以開始調(diào)用新浪微博提供的各類API函數(shù)接口進行實際應(yīng)用的開發(fā)了,在這里我就獲取最新微博記錄這個接口進行一個簡單說明,其他都類似。
獲取最新新浪微博信息的API接口函數(shù)是:public_timeline(),樣例代碼看下面:
復(fù)制代碼 代碼如下:
//獲取前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);

通常我們在得到用戶授權(quán)的Access Token值之后,就把它們保存在我們的用戶表中,與我們的應(yīng)用中的帳號進行對應(yīng),之后我們在調(diào)用新浪微博各api接口時就不用每次都去認證了。
上面的代碼很簡單,實例化WeiboClient對象,然后直接調(diào)用接口函數(shù)public_timeline就可以得到返回的信息,如果沒有錯誤的話。通常新浪微博api接口返回的數(shù)據(jù)格式一般為Json格式或xml格式,而我們在此是用php進行開發(fā),則使用Json格式的數(shù)據(jù)就有先天的優(yōu)勢,如果返回Json格式數(shù)據(jù)的話,直接使用php函數(shù)json_decode()就可以轉(zhuǎn)換為php常用的array數(shù)組格式了。
來源:紅心草博客
原文地址:http://www.hongxincao.com/archives/579.html

php技術(shù)新浪微博API開發(fā)簡介之用戶授權(quán)(PHP基礎(chǔ)篇),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 崇左市| 梅州市| 东港市| 灌阳县| 潢川县| 临西县| 静乐县| 扬中市| 汤原县| 库尔勒市| 密云县| 山东| 资源县| 平潭县| 聂荣县| 金湖县| 岫岩| 尉犁县| 永泰县| 临沂市| 县级市| 怀柔区| 化德县| 东光县| 文成县| 青田县| 清丰县| 大同市| 昌江| 沅江市| 建始县| 青神县| 肇源县| 锦屏县| 金门县| 巴楚县| 利辛县| 崇礼县| 缙云县| 遂平县| 武穴市|