新浪微博開放平臺WeiboClient類的公共方法(PHP)

賀利堅發表於2012-02-26

相關文章:

一、PHP+新浪微博開放平臺+新浪雲平臺(SAE)方案的基礎
二、建立微博應用的過程
三、PHP SDK中Demo程式簡析
四、進一步學習的走向和有用的資源
五、必須交待的幾個問題
【PDF全文下載】

  在初步掌握微博應用開發的流程後,建議通讀一遍weibooauth.php中的程式碼,優先讀class WeiboClient中公共方法的定義。這些方法都是直接操作微博和使用者的,清楚有哪些方法,其呼叫介面、預設引數等。 

  本文提供了class WeiboClient中公共方法的說明。這些方法用於直接操作微博和使用者的,需要很熟練地使用,熟知每個方法的名稱、引數和返回值型別。大多函式的返回值為array,還需要通過API文件知道對應array中各欄位的資訊。

  例如,WeiboClient類中有公共方法的定義:

    /**
     * 發表圖片微博
     * @access public
     * @param string $text 要更新的微博資訊。
     * @param string $text 要釋出的圖片路徑,支援url。[只支援png/jpg/gif三種格式,增加格式請修改get_image_mime方法]
     * @return array
     */
    function upload( $text , $pic_path )

  據此,我們知道發圖片微博的程式碼應該包括:

  (1)建立WeiboClient類的物件例項(該例項來自於授權,一段程式中多種功能可以共用一個例項);

  (2)準備微博資訊及圖片url;

  (3)用upload方法傳送;

  (4)利用返回的array完成後續處理。

  例如:

<?php
$c = new WeiboClient( WB_AKEY ,
                      WB_SKEY ,
                     $_SESSION[`last_key`][`oauth_token`] ,
                     $_SESSION[`last_key`][`oauth_token_secret`]  );
$t=’新微博’;
$p=’ http://ww1.sinaimg.cn/large/67c69b94gw1dqf3w3vct0j.jpg’;
$rr = $c ->upload( $t, $p );
echo "<p>傳送完成</p>" ;
}
?>

  下面是class WeiboClient中公共方法的說明。

class WeiboClient
{
    /**
     * 建構函式
     * 
     * @access public
     * @param mixed $akey 微博開放平臺應用APP KEY
     * @param mixed $skey 微博開放平臺應用APP SECRET
     * @param mixed $accecss_token OAuth認證返回的token
     * @param mixed $accecss_token_secret OAuth認證返回的token secret
     * @return void
     */
    function __construct( $akey , $skey ,$accecss_token , $accecss_token_secret )
 
    /**
     * 最新公共微博
     * 
     * @access public
     * @return array
     */
    function public_timeline()
 
    /**
     * 最新關注人微博
     * 
     * @access public
     * @return array
     */
    function friends_timeline()
 
 
    /**
     * 最新關注人微博
     * 
     * @access public
     * @return array
     */
    function home_timeline()
 
    /**
     * 最新@使用者的
     * 
     * @access public
     * @param int $page 返回結果的頁序號。
     * @param int $count 每次返回的最大記錄數(即頁面大小),不大於200,預設為20。
     * @return array
     */
    function mentions( $page = 1 , $count = 20)
 
 
    /**
     * 發表微博
     * 
     * @access public
     * @param mixed $text 要更新的微博資訊。
     * @return array
     */
    function update( $text )
 
   
    /**
     * 發表圖片微博
     * 
     * @access public
     * @param string $text 要更新的微博資訊。
     * @param string $text 要釋出的圖片路徑,支援url。[只支援png/jpg/gif三種格式,增加格式請修改get_image_mime方法
     ]
     * @return array
     */
    function upload( $text , $pic_path )
 
 
    /**
     * 獲取單條微博
     * 
     * @access public
     * @param mixed $sid 要獲取已發表的微博ID
     * @return array
     */
    function show_status( $sid )
 
    /**
     * 刪除微博
     * 
     * @access public
     * @param mixed $sid 要刪除的微博ID
     * @return array
     */
    function delete( $sid )
 
 
    /**
     * 刪除微博
     * 
     * @access public
     * @param mixed $sid 要刪除的微博ID
     * @return array
     */
    function destroy( $sid )
 
 
    /**
     * 個人資料
     * 
     * @access public
     * @param mixed $uid_or_name 使用者UID或微博暱稱。
     * @return array
     */
    function show_user( $uid_or_name = null )
 
    /**
     * 關注人列表
     * 
     * @access public
     * @param bool $cursor 單頁只能包含100個關注列表,為了獲取更多則cursor預設從-1開始,通過增加或減少cursor來獲
     取更多的關注列表
     * @param bool $count 每次返回的最大記錄數(即頁面大小),不大於200,預設返回20
     * @param mixed $uid_or_name 要獲取的 UID或微博暱稱
     * @return array
     */
    function friends( $cursor = false , $count= false , $uid_or_name = null )
 
 
    /**
     * 粉絲列表
     * 
     * @access public
     * @param bool $cursor 單頁只能包含100個粉絲列表,為了獲取更多則cursor預設從-1開始,通過增加或減少cursor來獲
     取更多的粉絲列表
     * @param bool $count 每次返回的最大記錄數(即頁面大小),不大於200,預設返回20。
     * @param mixed $uid_or_name  要獲取的UID或微博暱稱
     * @return array
     */
    function followers( $cursor = false ,$count = false , $uid_or_name = null )
 
 
    /**
     * 關注一個使用者
     * 
     * @access public
     * @param mixed $uid_or_name 要關注的使用者UID或微博暱稱
     * @return array
     */
    function follow( $uid_or_name )
 
 
    /**
     * 取消關注某使用者
     * 
     * @access public
     * @param mixed $uid_or_name 要取消關注的使用者UID或微博暱稱
     * @return array
     */
    function unfollow( $uid_or_name )
 
 
    /**
     * 返回兩個使用者關係的詳細情況
     * 
     * @access public
     * @param mixed $uid_or_name 要判斷的使用者UID
     * @return array
     */
    function is_followed( $uid_or_name )
 
 
    /**
     * 使用者發表微博列表
     *  
     * @access public
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @param mixed $uid_or_name 指定使用者UID或微博暱稱
     * @return array
     */
    function user_timeline( $page = 1 , $count= 20 , $uid_or_name = null )
 
 
    /**
     * 獲取私信列表
     * 
     * @access public
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @return array
     */
    function list_dm( $page = 1 , $count =20  )
 
 
    /**
     * 傳送的私信列表
     * 
     * @access public
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @return array
     */
    function list_dm_sent( $page = 1 , $count =20 )
 
 
    /**
     * 傳送私信
     * 
     * @access public
     * @param mixed $uid_or_name UID或微博暱稱
     * @param mixed $text 要發生的訊息內容,文字大小必須小於300個漢字。
     * @return array
     */
    function send_dm( $uid_or_name , $text )
 
 
    /**
     * 刪除一條私信
     * 
     * @access public
     * @param mixed $did 要刪除的私信主鍵ID
     * @return array
     */
    function delete_dm( $did )
 
 
    /**
     * 轉發一條微博資訊。
     * 
     * @access public
     * @param mixed $sid 轉發的微博ID
     * @param bool $text 新增的轉發資訊。
     * @return array
     */
    function repost( $sid , $text = false )
 
 
    /**
     * 對一條微博資訊進行評論
     * 
     * @access public
     * @param mixed $sid 要評論的微博id
     * @param mixed $text 評論內容
     * @param bool $cid 要評論的評論id
     * @return array
     */
    function send_comment( $sid , $text , $cid= false )
 
 
    /**
     * 發出的評論
     * 
     * @access public
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @return array
     */
    function comments_by_me( $page = 1 , $count= 20 )
 
 
    /**
     * 最新評論(按時間)
     * 
     * @access public
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @return array
     */
    function comments_timeline( $page = 1 ,$count = 20 )
 
 
    /**
     * 單條評論列表(按微博)
     * 
     * @access public
     * @param mixed $sid 指定的微博ID
     * @param int $page 頁碼
     * @param int $count 每次返回的最大記錄數,最多返回200條,預設20。
     * @return array
     */
    function get_comments_by_sid( $sid , $page= 1 , $count = 20 )
 
 
    /**
     * 批量統計微博的評論數,轉發數,一次請求最多獲取100個。
     * 
     * @access public
     * @param mixed $sids 微博ID號列表,用逗號隔開
     * @return array
     */
    function get_count_info_by_ids( $sids )
 
 
    /**
     * 對一條微博評論資訊進行回覆。
     * 
     * @access public
     * @param mixed $sid 微博id
     * @param mixed $text 評論內容。
     * @param mixed $cid 評論id
     * @return array
     */
    function reply( $sid , $text , $cid )
 
 
    /**
     * 返回使用者的釋出的最近20條收藏資訊,和使用者收藏頁面返回內容是一致的。
     * 
     * @access public
     * @param bool $page 返回結果的頁序號。
     * @return array
     */
    function get_favorites( $page = false )
 
 
    /**
     * 收藏一條微博資訊
     * 
     * @access public
     * @param mixed $sid 收藏的微博id
     * @return array
     */
    function add_to_favorites( $sid )
 
 
    /**
     * 刪除微博收藏。
     * 
     * @access public
     * @param mixed $sid 要刪除的收藏微博資訊ID.
     * @return array
     */
    function remove_from_favorites( $sid )
   
   
    function verify_credentials()
 
    /**
     * 修改頭像
     * 
     */    
    function update_avatar( $pic_path )
 
}


相關文章