日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
新浪微博API開發(fā)簡(jiǎn)介之用戶授權(quán)(PHP基礎(chǔ)篇)

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

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

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

首先到新浪微博開放平臺(tái)下載基于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演示程序,我們可以參考其樣例程序進(jìn)行編寫。

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

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

1.首先獲取未授權(quán)的Request Token

 
 
 
  1. $o = new WeiboOAuth( WB_AKEY , WB_SKEY  );
  2. $keys = $o->getRequestToken();
  3. //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

我們需要在新浪微博開放平臺(tái)中注冊(cè)一個(gè)帳號(hào),或直接使用我們的新浪微博帳號(hào)登錄,進(jìn)入我的應(yīng)用,然后按照提示創(chuàng)建屬于我們自己的第三方應(yīng)用,創(chuàng)建完成之后我們可以得到兩個(gè)授權(quán)的App Key和App Secret值,這兩個(gè)值就是我們開發(fā)應(yīng)用的關(guān)鍵。

得到授權(quán)值后,我們就可以利用上面的代碼獲得未授權(quán)的Request Token值了,它們會(huì)保存在$key數(shù)組變量中。

2.然后請(qǐng)求用戶授權(quán)Token

 
 
 
  1. $_SESSION['keys'] = $keys;
  2. aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

得到未授權(quán)的Request Token值后,我們就利用上面的代碼可以開始準(zhǔn)備去新浪微博授權(quán)頁面進(jìn)行授權(quán),$aurl就是授權(quán)鏈接頁面,我們得到$aurl后就可以利用header()直接跳轉(zhuǎn)到該授權(quán)頁面,然后用戶輸入新浪微博帳號(hào)和密碼進(jìn)行授權(quán),授權(quán)完成后,自動(dòng)跳回你在最后一個(gè)參數(shù)里面設(shè)置的回調(diào)頁面:http://localhost/callback.php,該鏈接你可以設(shè)置為上一個(gè)頁面,這樣授權(quán)完成之后就會(huì)自動(dòng)又跳轉(zhuǎn)回去了。

需要注意的是設(shè)置session的keys的值是必須的,它在下面獲取到授權(quán)的Access Token中是需要用到的。很多的朋友可能會(huì)參考其開放平臺(tái)上面的說明來進(jìn)行授權(quán)時(shí),可發(fā)現(xiàn)總是出錯(cuò),一般都是這個(gè)問題,你并未設(shè)置session的keys值,在下面當(dāng)然取不到Access Token的值了,這個(gè)一定要記住了。

3.最后得到用戶授權(quán)的Access Token

 
 
 
  1.  $o = new WeiboOAuth( WB_AKEY ,
  2.                      WB_SKEY ,
  3.                      $_SESSION['keys']['oauth_token'] ,
  4.                      $_SESSION['keys']['oauth_token_secret']  );
  5. $last_key = $o->getAccessToken(  $_REQUEST['oauth_verifier'] ) ;
  6. echo($last_key['oauth_token']);

上面的代碼就最終獲得了用戶授權(quán)的Access Token,共兩個(gè)值,它們保存在$last_key數(shù)組變量里面,我們也可以看到,后面的兩個(gè)參數(shù)就是前面我們?cè)O(shè)置的session值。到此就基本完成了,這就是新浪微博用戶授權(quán)的一個(gè)完整的過程。

授權(quán)完成后的工作

在授權(quán)完成之后,我們就可以開始調(diào)用新浪微博提供的各類API函數(shù)接口進(jìn)行實(shí)際應(yīng)用的開發(fā)了,在這里我就獲取最新微博記錄這個(gè)接口進(jìn)行一個(gè)簡(jiǎn)單說明,其他都類似。

獲取最新新浪微博信息的API接口函數(shù)是:public_timeline(),樣例代碼看下面:

 
 
 
  1. //獲取前20條最新更新的公共微博消息
  2. $c = new WeiboClient( WB_AKEY ,
  3.                       WB_SKEY ,
  4.                       $oauth_token ,
  5.                       $oauth_token_secret  );
  6. $msg  = $c->public_timeline();
  7. if ($msg === false || $msg === null){
  8.  echo "Error occured";
  9.  return false;
  10. }
  11. if (isset($msg['error_code']) && isset($msg['error'])){
  12.  echo ('Error_code: '.$msg['error_code'].';  Error: '.$msg['error'] );
  13.  return false;
  14. }
  15. print_r($msg);

通常我們?cè)诘玫接脩羰跈?quán)的Access Token值之后,就把它們保存在我們的用戶表中,與我們的應(yīng)用中的帳號(hào)進(jìn)行對(duì)應(yīng),之后我們?cè)谡{(diào)用新浪微博各api接口時(shí)就不用每次都去認(rèn)證了。

上面的代碼很簡(jiǎn)單,實(shí)例化WeiboClient對(duì)象,然后直接調(diào)用接口函數(shù)public_timeline就可以得到返回的信息,如果沒有錯(cuò)誤的話。通常新浪微博api接口返回的數(shù)據(jù)格式一般為Json格式或xml格式,而我們?cè)诖耸怯胮hp進(jìn)行開發(fā),則使用Json格式的數(shù)據(jù)就有先天的優(yōu)勢(shì),如果返回Json格式數(shù)據(jù)的話,直接使用php函數(shù)json_decode()就可以轉(zhuǎn)換為php常用的array數(shù)組格式了。

來源:紅心草博客

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


文章標(biāo)題:新浪微博API開發(fā)簡(jiǎn)介之用戶授權(quán)(PHP基礎(chǔ)篇)
地址分享:http://www.5511xx.com/article/cdejijj.html