自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

新浪微博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ā)最重要的用戶授權過程

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

1.首先獲取未授權的Request Token

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

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

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

2.然后請求用戶授權Token

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

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

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

3.最后得到用戶授權的Access Token

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

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

授權完成后的工作

在授權完成之后,我們就可以開始調用新浪微博提供的各類API函數(shù)接口進行實際應用的開發(fā)了,在這里我就獲取最新微博記錄這個接口進行一個簡單說明,其他都類似。

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

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

通常我們在得到用戶授權的Access Token值之后,就把它們保存在我們的用戶表中,與我們的應用中的帳號進行對應,之后我們在調用新浪微博各api接口時就不用每次都去認證了。

上面的代碼很簡單,實例化WeiboClient對象,然后直接調用接口函數(shù)public_timeline就可以得到返回的信息,如果沒有錯誤的話。通常新浪微博api接口返回的數(shù)據(jù)格式一般為Json格式或xml格式,而我們在此是用php進行開發(fā),則使用Json格式的數(shù)據(jù)就有先天的優(yōu)勢,如果返回Json格式數(shù)據(jù)的話,直接使用php函數(shù)json_decode()就可以轉換為php常用的array數(shù)組格式了。

來源:紅心草博客

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

【編輯推薦】

  1. 谷歌拼音輸入法擴展API開發(fā)指南
  2. 百度地圖API之如何制作駕車導航
  3. 詳解百度地圖API之地圖標注
  4. 實戰(zhàn)HTML 5中存儲API 可彌補Web開發(fā)缺陷
  5. HTML 5基礎之HTML 5 API的威力
責任編輯:陳貽新 來源: 紅心草博客
相關推薦

2013-07-10 14:15:38

php新浪微博

2011-12-08 16:10:18

2012-02-15 17:39:36

2013-05-27 09:52:35

Android開發(fā)移動開發(fā)移動應用

2011-07-26 09:58:24

2012-01-05 14:32:39

新浪微博密碼泄露

2015-01-21 15:28:16

Android源碼新浪微博

2013-07-01 18:34:47

個推案例新浪微博

2011-07-22 10:38:55

HTC新浪Facebook

2010-10-27 10:02:36

PHP

2011-12-08 16:31:43

新浪微博開放平臺

2011-12-08 16:51:55

新浪微博開放平臺

2010-04-28 08:38:19

微博開發(fā)楊衛(wèi)華

2015-09-24 18:08:50

微博架構架構演進架構

2016-03-17 16:00:51

新浪微博用戶模型

2010-12-10 13:57:45

PHP Extensi

2011-07-01 13:29:15

2011-06-29 09:57:45

2013-03-20 10:09:22

微博風云大數(shù)據(jù)社會化數(shù)據(jù)分析

2011-08-30 14:48:02

點贊
收藏

51CTO技術棧公眾號