在初步掌握微博應用開發的流程後,建議通讀一遍weibooauth.php中的代碼,優先讀class WeiboClient中公用方法的定義。這些方法都是直接操作微博和使用者的,清楚有哪些方法,其調用介面、預設參數等。
本文提供了class WeiboClient中公用方法的說明。這些方法用於直接操作微博和使用者的,需要很熟練地使用,熟知每個方法的名稱、參數和傳回值類型。大多函數的傳回值為array,還需要通過API文檔知道對應array中各欄位的資訊。
/**
* 發表圖片微博
* @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=’ ;
$rr = $c ->upload( $t, $p );
echo "<p>發送完成</p>" ;
}
?>
<?php $c = new WeiboClient( WB_AKEY , WB_SKEY , $_SESSION['last_key']['oauth_token'] , $_SESSION['last_key']['oauth_token_secret'] ); $t=’新微博’; $p=’ /program/UploadPic/2012-4/20124511228944.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 )
}