国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:17:07
字體:
來源:轉載
供稿:網友
現在玩微博的人越來越多了,而關于微博的第三方應用開發也越來越多,自己在偶然間開始接觸了新浪微博API開發,新浪微博API開發的資源比較多,新浪微博提供了一個開發者的平臺,網址是:,它里面有很全面的新浪微博開發的資料,包括開發者的使用和介紹,各種語言的API函數介紹文檔,SDK等多種資料。

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

新浪微博API開發前的準備工作

首先到新浪微博開放平臺下載基于PHP的SDK開發包,下載地址是:?name=weibo-oauth-class-with-image-avatar-06-29.zip

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

新浪微博API開發最重要的用戶授權過程

其實在開發過程中很多的問題都是集中在用戶授權這個階段,我開發的第三方應用,使用的是OAuth授權,關于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()直接跳轉到該授權頁面,然后用戶輸入新浪微博帳號和密碼進行授權,授權完成后,自動跳回你在最后一個參數里面設置的回調頁面:,該鏈接你可以設置為上一個頁面,這樣授權完成之后就會自動又跳轉回去了。
需要注意的是設置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數組格式了。
來源:紅心草博客
原文地址:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永靖县| 台北市| 宜兴市| 昌江| 那坡县| 闽侯县| 梅河口市| 冕宁县| 河间市| 沈丘县| 云安县| 宁城县| 青岛市| 海淀区| 托克托县| 子长县| 弥勒县| 莱西市| 文水县| 溆浦县| 花莲市| 漯河市| 图片| 新建县| 明光市| 普格县| 楚雄市| 益阳市| 成都市| 徐水县| 勐海县| 喜德县| 栖霞市| 景德镇市| 光山县| 怀来县| 临清市| 西充县| 元阳县| 元阳县| 新蔡县|