Statuses/public timeline 带应用判断

跳转到: 导航, 搜索
(请求参数)
(返回结果)
第23行: 第23行:
 
XML示例:
 
XML示例:
 
注意geo地理位置字段仅对有地理位置的微博才有返回
 
注意geo地理位置字段仅对有地理位置的微博才有返回
 +
<pre>
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <statuses>
 
  <statuses>
第61行: 第62行:
 
   ...
 
   ...
 
   </statuses>
 
   </statuses>
 +
</pre>
 
JSON示例:
 
JSON示例:
 +
<pre>
 
  [ {"created_at":"Wed  Jan  06  11:26:01  +0800  2010",
 
  [ {"created_at":"Wed  Jan  06  11:26:01  +0800  2010",
 
   "id":142243,
 
   "id":142243,
第93行: 第96行:
 
   {},...
 
   {},...
 
   ]
 
   ]
 +
</pre>
  
 
=== 使用示例===
 
=== 使用示例===

2010年8月9日 (一) 10:46的版本

目录

statuses/public_timeline

返回最新更新的20条微博消息。为避免资源浪费及提高效率,对消息缓存60秒。

URL

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

格式

xml, json

HTTP请求方式

GET

是否需要登录

false

请求数限制

true

请求参数

  • base_app: 选填参数,是否基于当前应用来获取数据。布尔型,true表示基于当前应用来获取数据。

返回结果

XML示例: 注意geo地理位置字段仅对有地理位置的微博才有返回

 <?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>
    <geo xmlns:georss="http://www.georss.org/georss">
      <georss:point>23.12 -122.39697</georss:point>
    </geo>
    <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>
    </status>
  ...
  </statuses>

JSON示例:

 [ {"created_at":"Wed  Jan  06  11:26:01  +0800  2010",
   "id":142243,
   "text":"test  test",
   "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":{"type": "Point","coordinates": [23.12 -122.39697]},
   "user":{"id":10506,
   "screen_name":"name_10506",
   "name":"name_10506",
   "province":0,
   "city":0,
   "location":"",
   "description":"",
   "url":"",
   "profile_image_url":"http://tp3.sinaimg.cn/10506/50/0",
   "domain":"10506",
   "followers_count":24,
   "friends_count":50,
   "statuses_count":0,
   "favourites_count":21,
   "created_at":"Thu  Jan  01  08:00:00  +0800  1970",
   "following":false,
   "geo_enabled":false,
   "verified":false}
   },
  {},...
  ]

使用示例

需修改appkey

  • xml:

curl -u uid:password http://api.t.sina.com.cn/statuses/public_timeline.xml?source=appkey

  • json:

curl -u uid:password http://api.t.sina.com.cn/statuses/public_timeline.json?source=appkey

Java示例

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

package weibo4j.examples;

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

public class GetPublicTimeline {

	/**
	 * 获取最新更新的公共微博消息 
	 * @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 {
	 		//获取前20条最新更新的公共微博消息
			 List<Status> statuses = getWeibo(false,args).getPublicTimeline();
			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;
	}
}