新浪微博应用开发:获取用户发布的微博信息列表

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:1923 次  更新日期:2013-12-23

 /**
  * 获取用户发布的微博信息列表
  *
  * 返回用户的发布的最近n条信息,和用户微博页面返回内容是一致的。此接口也可以请求其他用户的最新发表微博。
  * 
  * @access public
  * @param int $page 页码
  * @param int $count 每次返回的最大记录数,最多返回200条,默认50。
  * @param mixed $uid 指定用户UID或微博昵称
  * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
  * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的提到当前登录用户微博消息。可选。
  * @param int $base_app 是否基于当前应用来获取数据。1为限制本应用微博,0为不做限制。默认为0。
  * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
  * @param int $trim_user 返回值中user信息开关,0:返回完整的user信息、1:user字段仅返回uid,默认为0。
  * @return array
  */
 function user_timeline_by_id( $uid = NULL , $page = 1 , $count = 50 , $since_id = 0, $max_id = 0, $feature = 0, $trim_user = 0, $base_app = 0)
 {
  $params = array();
  $params['uid']=$uid;
  if ($since_id) {
   $this->id_format($since_id);
   $params['since_id'] = $since_id;
  }
  if ($max_id) {
   $this->id_format($max_id);
   $params['max_id'] = $max_id;
  }
  $params['base_app'] = intval($base_app);
  $params['feature'] = intval($feature);
  $params['count'] = intval($count);
  $params['page'] = intval($page);
  $params['trim_user'] = intval($trim_user);
  return $this->oauth->get( 'statuses/user_timeline', $params );
 }
 
 
 /**
  * 获取用户发布的微博信息列表
  *
  * 返回用户的发布的最近n条信息,和用户微博页面返回内容是一致的。此接口也可以请求其他用户的最新发表微博。
  * 
  * @access public
  * @param string $screen_name 微博昵称,主要是用来区分用户UID跟微博昵称,当二者一样而产生歧义的时候,建议使用该参数 
  * @param int $page 页码
  * @param int $count 每次返回的最大记录数,最多返回200条,默认50。
  * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
  * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的提到当前登录用户微博消息。可选。
  * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
  * @param int $trim_user 返回值中user信息开关,0:返回完整的user信息、1:user字段仅返回uid,默认为0。
  * @param int $base_app 是否基于当前应用来获取数据。1为限制本应用微博,0为不做限制。默认为0。
  * @return array
  */
 function user_timeline_by_name( $screen_name = NULL , $page = 1 , $count = 50 , $since_id = 0, $max_id = 0, $feature = 0, $trim_user = 0, $base_app = 0 )
 {
  $params = array();
  $params['screen_name'] = $screen_name;
  if ($since_id) {
   $this->id_format($since_id);
   $params['since_id'] = $since_id;
  }
  if ($max_id) {
   $this->id_format($max_id);
   $params['max_id'] = $max_id;
  }
  $params['base_app'] = intval($base_app);
  $params['feature'] = intval($feature);
  $params['count'] = intval($count);
  $params['page'] = intval($page);
  $params['trim_user'] = intval($trim_user);
  return $this->oauth->get( 'statuses/user_timeline', $params );
 }
 
 
 
 /**
  * 批量获取指定的一批用户的timeline
  *
  *
  * @param string $screen_name  需要查询的用户昵称,用半角逗号分隔,一次最多20个
  * @param int    $count        单页返回的记录条数,默认为50。
  * @param int    $page  返回结果的页码,默认为1。 
  * @param int    $base_app  是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
  * @param int    $feature   过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
  * @return array
  */
 function timeline_batch_by_name( $screen_name, $page = 1, $count = 50, $feature = 0, $base_app = 0)
 {
  $params = array();
  if (is_array($screen_name) && !empty($screen_name)) {
   $params['screen_name'] = join(',', $screen_name);
  } else {
   $params['screen_name'] = $screen_name;
  }
  $params['count'] = intval($count);
  $params['page'] = intval($page); 
  $params['base_app'] = intval($base_app);
  $params['feature'] = intval($feature);
  return $this->oauth->get('statuses/timeline_batch', $params);
 }
 /**
  * 批量获取指定的一批用户的timeline
  *
  *
  * @param string $uids  需要查询的用户ID,用半角逗号分隔,一次最多20个。
  * @param int    $count        单页返回的记录条数,默认为50。
  * @param int    $page  返回结果的页码,默认为1。 
  * @param int    $base_app  是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
  * @param int    $feature   过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
  * @return array
  */
 function timeline_batch_by_id( $uids, $page = 1, $count = 50, $feature = 0, $base_app = 0)
 {
  $params = array();
  if (is_array($uids) && !empty($uids)) {
   foreach($uids as $k => $v) {
    $this->id_format($uids[$k]);
   }
   $params['uids'] = join(',', $uids);
  } else {
   $params['uids'] = $uids;
  }
  $params['count'] = intval($count);
  $params['page'] = intval($page); 
  $params['base_app'] = intval($base_app);
  $params['feature'] = intval($feature);
  return $this->oauth->get('statuses/timeline_batch', $params);