Statuses/user timeline

跳转到: 导航, 搜索

目录

statuses/user_timeline

返回用户的发布的最近n条信息,和用户微博页面返回内容是一致的。此接口也可以请求其他用户的最新发表微博。

URL

http://api.t.sina.com.cn/statuses/user_timeline.format

格式

xml, json

HTTP请求方式

GET

是否需要登录

true

请求参数

  • id: 可选参数. 根据指定用户UID或微博昵称来返回微博信息。
o 示例: http://api.t.sina.com.cn/statuses/user_timeline/12345.xml
  • user_id: 可选参数. 用户UID,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候,特别是在微博昵称为数字导致和用户Uid发生歧义。
o 示例: http://api.t.sina.com.cn/statuses/user_timeline.xml?user_id=1401881
  • screen_name:可选参数.微博昵称,主要是用来区分用户UID跟微博昵称一样,产生歧义的时候。
o 示例: http://api.t.sina.com.cn/statuses/user_timeline.xml?screen_name=101010
  • since_id:可选参数(微博信息ID). 只返回ID比since_id大(比since_id时间晚的)的微博信息内容
o 示例: http://api.t.sina.com.cn/statuses/user_timeline.xml?since_id=12345
  • max_id: 可选参数(微博信息ID). 返回ID不大于max_id的微博信息内容。
o 示例: Example: http://api.t.sina.com.cn/statuses/user_timeline.xml?max_id=54321
  • count: 可选参数. 每次返回的最大记录数,最多返回200条,默认20。
o 示例: http://api.t.sina.com.cn/statuses/user_timeline.xml?count=200
  • page: 可选参数. 分页返回。注意:最多返回200条分页内容。
o Example: http://api.t.sina.com.cn/statuses/user_timeline.xml?page=3

使用说明

  • 默认返回最近15天以内的微博信息
  • 由于分页限制,暂时最多只能返回用户最新的200条微博信息
  • 用户最多只能请求到最近200条记录

返回结果

XML示例:

 <?xml version="1.0" encoding="UTF-8"?>
 <statuses>
  <status>
    <created_at>Tue Dec 01 08:51:58 +0800 2009</created_at>
    <id>99999999</id>
    <text>只见AC米兰的巴蒂斯图塔突破马尔蒂尼,一脚凌空抽射,被裁判扑了出来。</text>
    <source>
      <a href="http://t.sina.com.cn">Web</a>
    </source>
    <favorited>false</favorited>
    <truncated>false</truncated>
    <in_reply_to_status_id></in_reply_to_status_id>
    <in_reply_to_user_id></in_reply_to_user_id>
    <in_reply_to_screen_name></in_reply_to_screen_name>
    <thumbnail_pic>http://static16.photo.sina.com.cn/thumbnail/62988d06tcbbc377f7bbf</thumbnail_pic>
    <bmiddle_pic>http://static16.photo.sina.com.cn/bmiddle/62988d06tcbbc377f7bbf</bmiddle_pic>
    <original_pic>http://static16.photo.sina.com.cn/orignal/62988d06tcbbc377f7bbf</original_pic>
    <user>
      <id>1141457724</id>
      <screen_name>1141457724</screen_name>
      <name>1141457724</name>
      <location>广州</location>
      <description>blog: timyang.net</description>
      <url>http://timyang.net</url>
      <profile_image_url>http://portrait.sinaimg.cn/1141457724/50#.jpg</profile_image_url>
      <followers_count>0</followers_count>
      <friends_count>0</friends_count>
      <statuses_count>0</statuses_count>
      <favourites_count>0</favourites_count>
      <following>false</following>
      <verified>true</verified>
    </user>
    <retweeted_status>
      <created_at>Tue Dec 01 08:51:58 +0800 2009</created_at>
      <id>100000000</id>
      <text>虽然渴者只要少许的水便够了,我却很快活地给与了我全部的水。</text>
      <source>
        <a href="http://t.sina.com.cn">Web</a>
      </source>
      <favorited>false</favorited>
      <truncated>false</truncated>
      <in_reply_to_status_id></in_reply_to_status_id>
      <in_reply_to_user_id></in_reply_to_user_id>
      <in_reply_to_screen_name></in_reply_to_screen_name>
      <user>
        <id>1337040644</id>
        <screen_name>1337040644</screen_name>
        <name>1337040644</name>
        <location>广州</location>
        <description>blog: timyang.net</description>
        <profile_image_url>http://portrait.sinaimg.cn/1337040644/50#.jpg</profile_image_url>
        <followers_count>0</followers_count>
        <friends_count>0</friends_count>
        <statuses_count>0</statuses_count>
        <favourites_count>0</favourites_count>
        <following>false</following>
        <verified>false</verified>
      </user>
    </retweeted_status>
  </status>
     ... truncated ...
 </statuses>

JSON示例:

 [
  {"created_at":"Mon Dec 28 19:20:18 +0800 2009",
  "id":141654,
  "text":"aaaasdf",
  "source":"<a id=\"0\" href=\"http://t.sina.com.cn/\" rel=\"nofollow\">Web</a>",
  "favorited":false,
  "truncated":false,
  "in_reply_to_status_id":"",
  "in_reply_to_user_id":"",
  "in_reply_to_screen_name":"",
  "geo":null,
  "user":{"id":11075,
         "screen_name":"name_11075",
         "name":"name_11075",
         "province":0,
         "city":0,
         "location":"",
         "description":"",
         "url":"",
         "profile_image_url":"http://tp4.sinaimg.cn/11075/50/0",
         "domain":"11075",
         "followers_count":28,
         "friends_count":50,
         "statuses_count":0,
         "favourites_count":0,
         "created_at":"Thu Jan 01 08:00:00 +0800 1970",
         "following":false,
         "geo_enabled":false,
         "verified":true}
  },
  {},...
 ]

字段说明 - status

  • created_at: 创建时间
  • id: 微博ID
  • text: 微博信息内容
  • source: 微博来源
  • favorited: 是否已收藏
  • truncated: 是否被截断
  • in_reply_to_status_id: 回复ID
  • in_reply_to_user_id: 回复人UID
  • in_reply_to_screen_name: 回复人昵称
  • thumbnail_pic: 缩略图
  • bmiddle_pic: 中型图片
  • original_pic:原始图片
  • user: 作者信息
  • retweeted_status: 转发的博文,内容为status,如果不是转发,则没有此字段

字段说明 - user

  • id: 用户UID
  • screen_name: 微博昵称
  • name: 友好显示名称,同微博昵称
  • province: 省份编码(参考省份编码表)
  • city: 城市编码(参考城市编码表)
  • location:地址
  • description: 个人描述
  • url: 用户博客地址
  • profile_image_url: 自定义图像
  • domain: 用户个性化URL
  • gender: 性别,m--男,f--女,n--未知
  • followers_count: 粉丝数
  • friends_count: 关注数
  • statuses_count: 微博数
  • favourites_count: 收藏数
  • created_at: 创建时间
  • following: 是否已关注(此特性暂不支持)
  • verified: 加V标示,是否微博认证用户

使用示例

需修改appkey

  • xml:

curl -u uid:password "http://api.t.sina.com.cn/statuses/user_timeline.xml?screen_name=timyang&source=appkey"

  • json:

curl -u uid:password "http://api.t.sina.com.cn/statuses/user_timeline.json?screen_name=timyang&source=appkey"

Java示例

请从 微博SDK开发包下载 下载Java SDK
代码示例如下:

package weibo4j.examples;

import java.util.List;
import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;

public class GetUserTimeline {

	/**
	 * 获取用户发布的微博信息列表 
	 * @param args
	 */
	public static void main(String[] args) {
		System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
    		System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
	 	try {
			//获取24小时内前20条用户的微博信息;args[2]:用户ID
			List<Status> statuses = getWeibo(false,args).getUserTimeline(args[2]);
			for (Status status : statuses) {
	            System.out.println(status.getUser().getName() + ":" +
	                               status.getText());
	        }
		} catch (WeiboException e) {
			e.printStackTrace();
		}
	}
	
 	private static Weibo getWeibo(boolean isOauth,String[] args) {
		Weibo weibo = new Weibo();
		if(isOauth) {//oauth验证方式 args[0]:访问的token;args[1]:访问的密匙
			weibo.setToken(args[0], args[1]);
		}else {//用户登录方式
    		weibo.setUserId(args[0]);//用户名/ID
    		weibo.setPassword(args[1]);//密码
		}
		return weibo;
	}

}

PHP示例

请从 微博SDK开发包下载 处下载PHP SDK(支持OAuth验证之版本)
代码示例如下:

//Statuses/user timeline
//获取24小时内前20条用户的微博信息
$c = new WeiboClient( WB_AKEY , 
                      WB_SKEY , 
                      $_SESSION['last_key']['oauth_token'] , 
                      $_SESSION['last_key']['oauth_token_secret']  );

//$u_id:用户ID
$u_id = "用户ID";
$msg  = $c->user_timeline($u_id);
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;
}
foreach ($msg as $data){
	$user_name = $data['user']['name'];
	$text = $data['text'];
	echo $user_name."=".$text.";";
}