欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2011年09月25日 22:52:37   作者:  
己在開發(fā)和學(xué)習(xí)的過程中,感覺雖然沒有太大難度,但還是有一些問題是需要我們注意的,今天就我在開發(fā)和學(xué)習(xí)的過程中,簡單的對利用PHP進(jìn)行新浪微博API開發(fā)的內(nèi)容進(jìn)行一個整理和說明
現(xiàn)在玩微博的人越來越多了,而關(guān)于微博的第三方應(yīng)用開發(fā)也越來越多,自己在偶然間開始接觸了新浪微博API開發(fā),新浪微博API開發(fā)的資源比較多,新浪微博提供了一個開發(fā)者的平臺,網(wǎng)址是:http://open.weibo.com,它里面有很全面的新浪微博開發(fā)的資料,包括開發(fā)者的使用和介紹,各種語言的API函數(shù)介紹文檔,SDK等多種資料。

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

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

首先到新浪微博開放平臺下載基于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)過程

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

1.首先獲取未授權(quán)的Request Token
復(fù)制代碼 代碼如下:

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

我們需要在新浪微博開放平臺中注冊一個帳號,或直接使用我們的新浪微博帳號登錄,進(jìn)入我的應(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值后,我們就利用上面的代碼可以開始準(zhǔn)備去新浪微博授權(quán)頁面進(jìn)行授權(quán),$aurl就是授權(quán)鏈接頁面,我們得到$aurl后就可以利用header()直接跳轉(zhuǎn)到該授權(quán)頁面,然后用戶輸入新浪微博帳號和密碼進(jì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中是需要用到的。很多的朋友可能會參考其開放平臺上面的說明來進(jìn)行授權(quán)時,可發(fā)現(xiàn)總是出錯,一般都是這個問題,你并未設(shè)置session的keys值,在下面當(dāng)然取不到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ù)接口進(jìn)行實際應(yīng)用的開發(fā)了,在這里我就獲取最新微博記錄這個接口進(jìn)行一個簡單說明,其他都類似。
獲取最新新浪微博信息的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)用中的帳號進(jìn)行對應(yīng),之后我們在調(diào)用新浪微博各api接口時就不用每次都去認(rèn)證了。
上面的代碼很簡單,實例化WeiboClient對象,然后直接調(diào)用接口函數(shù)public_timeline就可以得到返回的信息,如果沒有錯誤的話。通常新浪微博api接口返回的數(shù)據(jù)格式一般為Json格式或xml格式,而我們在此是用php進(jìn)行開發(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

相關(guān)文章

  • PHP receiveMail實現(xiàn)收郵件功能

    PHP receiveMail實現(xiàn)收郵件功能

    這篇文章主要為大家詳細(xì)介紹了PHP receiveMail實現(xiàn)收郵件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • CodeIgniter生成靜態(tài)頁的方法

    CodeIgniter生成靜態(tài)頁的方法

    這篇文章主要介紹了CodeIgniter生成靜態(tài)頁的方法,涉及CodeIgniter框架使用文件操作類生成靜態(tài)文件的實現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • Thinkphp5框架異常處理操作實例分析

    Thinkphp5框架異常處理操作實例分析

    這篇文章主要介紹了Thinkphp5框架異常處理操作,結(jié)合實例形式分析了Thinkphp5框架異常處理操作原理、操作方法與相關(guān)使用技巧,需要的朋友可以參考下
    2020-06-06
  • 大家須知簡單的php性能優(yōu)化注意點

    大家須知簡單的php性能優(yōu)化注意點

    通過本文給大家介紹在什么情況下可能遇到性能問題,php性能問題的解決方向及優(yōu)化點,對php性能優(yōu)化注意點相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • ajax+php實現(xiàn)無刷新驗證手機號的實例

    ajax+php實現(xiàn)無刷新驗證手機號的實例

    下面小編就為大家分享一篇ajax+php實現(xiàn)無刷新驗證手機號的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • php讀取excel文件的簡單實例

    php讀取excel文件的簡單實例

    這篇文章介紹了php讀取excel文件的簡單實例,有需要的朋友可以參考一下
    2013-08-08
  • 寶塔 php修改了php.ini配置不生效的問題及解決方法

    寶塔 php修改了php.ini配置不生效的問題及解決方法

    最近在使用hypref,php的版本是7.4,服務(wù)器linux,用寶塔安裝完php,并裝完swoole插件后,安裝了swoole后,需要在php.ini中修改一下配置文件,本文給大家分享寶塔 php修改了php.ini配置不生效的問題及解決方法,感興趣的朋友一起看看吧
    2023-09-09
  • php生成短網(wǎng)址示例

    php生成短網(wǎng)址示例

    這篇文章主要介紹了php生成短網(wǎng)址示例,需要的朋友可以參考下
    2014-05-05
  • 關(guān)于ThinkPHP中的異常處理詳解

    關(guān)于ThinkPHP中的異常處理詳解

    和PHP默認(rèn)的異常處理不同,ThinkPHP拋出的不是單純的錯誤信息,而是一個人性化的錯誤頁面,下面這篇文章主要給大家介紹了關(guān)于ThinkPHP中異常處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • laravel中命名路由的使用方法

    laravel中命名路由的使用方法

    這篇文章主要介紹了laravel中命名路由的使用方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02

最新評論