亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

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

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

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

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

我們需要在新浪微博開(kāi)放平臺(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è)值就是我們開(kāi)發(fā)應(yīng)用的關(guān)鍵。
得到授權(quán)值后,我們就可以利用上面的代碼獲得未授權(quán)的Request Token值了,它們會(huì)保存在$key數(shù)組變量中。
2.然后請(qǐng)求用戶授權(quán)Token
復(fù)制代碼 代碼如下:

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

得到未授權(quán)的Request Token值后,我們就利用上面的代碼可以開(kāi)始準(zhǔn)備去新浪微博授權(quán)頁(yè)面進(jìn)行授權(quán),$aurl就是授權(quán)鏈接頁(yè)面,我們得到$aurl后就可以利用header()直接跳轉(zhuǎn)到該授權(quán)頁(yè)面,然后用戶輸入新浪微博帳號(hào)和密碼進(jìn)行授權(quán),授權(quán)完成后,自動(dòng)跳回你在最后一個(gè)參數(shù)里面設(shè)置的回調(diào)頁(yè)面:http://localhost/callback.php,該鏈接你可以設(shè)置為上一個(gè)頁(yè)面,這樣授權(quán)完成之后就會(huì)自動(dòng)又跳轉(zhuǎn)回去了。
需要注意的是設(shè)置session的keys的值是必須的,它在下面獲取到授權(quán)的Access Token中是需要用到的。很多的朋友可能會(huì)參考其開(kāi)放平臺(tái)上面的說(shuō)明來(lái)進(jìn)行授權(quán)時(shí),可發(fā)現(xiàn)總是出錯(cuò),一般都是這個(gè)問(wèn)題,你并未設(shè)置session的keys值,在下面當(dāng)然取不到Access Token的值了,這個(gè)一定要記住了。
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,共兩個(gè)值,它們保存在$last_key數(shù)組變量里面,我們也可以看到,后面的兩個(gè)參數(shù)就是前面我們?cè)O(shè)置的session值。到此就基本完成了,這就是新浪微博用戶授權(quán)的一個(gè)完整的過(guò)程。
授權(quán)完成后的工作
在授權(quán)完成之后,我們就可以開(kāi)始調(diào)用新浪微博提供的各類API函數(shù)接口進(jìn)行實(shí)際應(yīng)用的開(kāi)發(fā)了,在這里我就獲取最新微博記錄這個(gè)接口進(jìn)行一個(gè)簡(jiǎn)單說(shuō)明,其他都類似。
獲取最新新浪微博信息的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);

通常我們?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就可以得到返回的信息,如果沒(méi)有錯(cuò)誤的話。通常新浪微博api接口返回的數(shù)據(jù)格式一般為Json格式或xml格式,而我們?cè)诖耸怯胮hp進(jìn)行開(kāi)發(fā),則使用Json格式的數(shù)據(jù)就有先天的優(yōu)勢(shì),如果返回Json格式數(shù)據(jù)的話,直接使用php函數(shù)json_decode()就可以轉(zhuǎn)換為php常用的array數(shù)組格式了。
來(lái)源:紅心草博客
原文地址:http://www.hongxincao.com/archives/579.html

相關(guān)文章

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

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

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

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

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

    Thinkphp5框架異常處理操作實(shí)例分析

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

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

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

    ajax+php實(shí)現(xiàn)無(wú)刷新驗(yàn)證手機(jī)號(hào)的實(shí)例

    下面小編就為大家分享一篇ajax+php實(shí)現(xiàn)無(wú)刷新驗(yàn)證手機(jī)號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • php讀取excel文件的簡(jiǎn)單實(shí)例

    php讀取excel文件的簡(jiǎn)單實(shí)例

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

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

    最近在使用hypref,php的版本是7.4,服務(wù)器linux,用寶塔安裝完php,并裝完swoole插件后,安裝了swoole后,需要在php.ini中修改一下配置文件,本文給大家分享寶塔 php修改了php.ini配置不生效的問(wèn)題及解決方法,感興趣的朋友一起看看吧
    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拋出的不是單純的錯(cuò)誤信息,而是一個(gè)人性化的錯(cuò)誤頁(yè)面,下面這篇文章主要給大家介紹了關(guān)于ThinkPHP中異常處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • laravel中命名路由的使用方法

    laravel中命名路由的使用方法

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

最新評(píng)論