Ruby实现sina微博api的连接(在线急等)

iM臭皮匠 2010-12-14 02:08:48
如题
...全文
1636 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
scsxd 2011-11-09
  • 打赏
  • 举报
回复
那还能有假?
hewengao401 2011-06-20
  • 打赏
  • 举报
回复
、。。都是复制的吗?
cocolong2002 2010-12-19
  • 打赏
  • 举报
回复
statuses/user_timeline
返回用户最新发表的微博消息列表。

URL
http://api.t.sina.com.cn/statuses/user_timeline.(json|xml)

支持格式
XML/JSON

HTTP请求方式
GET

是否需要登录
true
关于授权机制,参见授权机制声明

请求数限制
true
关于请求数限制,参见接口访问权限说明

请求参数
必选 类型及范围 说明
source true string 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。(采用OAuth授权方式不需要此参数)
:id false int64/string 根据用户ID(int64)或者微博昵称(string)返回指定用户的最新微博消息列表。该参数为REST风格参数,参见注意事项
user_id false int64 用户ID,主要是用来区分用户ID跟微博昵称。当微博昵称为数字导致和用户ID产生歧义,特别是当微博昵称和用户ID一样的时候,建议使用该参数
screen_name false string 微博昵称,主要是用来区分用户UID跟微博昵称,当二者一样而产生歧义的时候,建议使用该参数
since_id false int64 若指定此参数,则只返回ID比since_id大(即比since_id发表时间晚的)的微博消息。
max_id false int64 若指定此参数,则返回ID小于或等于max_id的微博消息
count false int,默认值20,最大值200。 指定每页返回的记录条数。
page false int,默认值1。 页码。注意:最多返回200条分页内容。
如果:id、user_id、screen_name三个参数均未指定,则返回当前登录用户最近发表的微博消息列表。
base_app false int 是否基于当前应用来获取数据。1为限制本应用微博,0为不做限制。
feature false int 微博类型,0全部,1原创,2图片,3视频,4音乐. 返回指定类型的微博信息内容。
调用示例
XML
curl -u "username:password" "http://api.t.sina.com.cn/statuses/user_timeline.xml?source=appkey&user_id=11051"
JSON
curl -u "username:password" "http://api.t.sina.com.cn/statuses/user_timeline.json?source=appkey&user_id=11051"
注意事项
:id为REST风格的参数,使用该参数的URL为:
http://api.t.sina.com.cn/statuses/user_timeline/:id.format
使用示例如下:
http://api.t.sina.com.cn/statuses/user_timeline/11051.xml?source=appkey
http://api.t.sina.com.cn/statuses/user_timeline/timyang.json?source=appkey
默认返回最近15天以内的微博信息
由于分页限制,暂时最多只能返回用户最新的200条微博信息
用户最多只能请求到最近200条记录
返回结果
XML示例
<?xml version="1.0" encoding="UTF-8"?>
<statuses>
<status>
<created_at>Mon Nov 29 16:08:43 +0800 2010</created_at>
<id>3958728723</id>
<text>各位开发者,我们的论坛上线啦~http://sinaurl.cn/h4FWc7 欢迎大家的参与~另外,关于技术相关的问题,可以在论坛上提出,也可以@微博API 这个官方技术支持账号哦~感谢大家对开放平台的支持~[呵呵]</text>
<source>
<a href="http://t.sina.com.cn">新浪微博</a>
</source>
<favorited>false</favorited>
<truncated>false</truncated>
<geo/>
<in_reply_to_status_id/>
<in_reply_to_user_id/>
<in_reply_to_screen_name/>
<user>
<id>11051</id>
<screen_name>微博开放平台</screen_name>
<name>微博开放平台</name>
<province>11</province>
<city>8</city>
<location>北京 海淀区</location>
<description>新浪微博开放平台市场推广官方账号,如有技术问题,请@微博API或者发私信给微博API</description>
<url>http://open.t.sina.com.cn/</url>
<profile_image_url>http://tp4.sinaimg.cn/11051/50/1280283165/1</profile_image_url>
<domain>openapi</domain>
<gender>m</gender>
<followers_count>13034</followers_count>
<friends_count>5</friends_count>
<statuses_count>157</statuses_count>
<favourites_count>0</favourites_count>
<created_at>Wed Jan 20 00:00:00 +0800 2010</created_at>
<following>false</following>
<verified>true</verified>
<allow_all_act_msg>true</allow_all_act_msg>
<geo_enabled>true</geo_enabled>
</user>
</status>
...
</statuses>
JSON示例
[
{
"created_at" : "Mon Nov 29 16:08:43 +0800 2010",
"text" : "各位开发者,我们的论坛上线啦~http://sinaurl.cn/h4FWc7 欢迎大家的参与~另外,关于技术相关的问题,可以在论坛上提出,也可以@微博API 这个官方技术支持账号哦~感谢大家对开放平台的支持~[呵呵]",
"truncated" : false,
"in_reply_to_status_id" : "",
"in_reply_to_screen_name" : "",
"geo" : null,
"user" :
{
"name" : "微博开放平台",
"domain" : "openapi",
"geo_enabled" : true,
"followers_count" : 13034,
"statuses_count" : 157,
"favourites_count" : 0,
"city" : "8",
"description" : "新浪微博开放平台市场推广官方账号,如有技术问题,请@微博API或者发私信给微博API",
"verified" : true,
"id" : 11051,
"gender" : "m",
"friends_count" : 5,
"screen_name" : "微博开放平台",
"allow_all_act_msg" : true,
"following" : false,
"url" : "http://open.t.sina.com.cn/",
"profile_image_url" : "http://tp4.sinaimg.cn/11051/50/1280283165/1",
"created_at" : "Wed Jan 20 00:00:00 +0800 2010",
"province" : "11",
"location" : "北京 海淀区"
},
"favorited" : false,
"in_reply_to_user_id" : "",
"id" : 3958728723,
"source" : "<a href=\"http://t.sina.com.cn\" rel=\"nofollow\">新浪微博</a>"
},
...
]
字段说明 - 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标示,是否微博认证用户
其他
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.";";
}
cocolong2002 2010-12-19
  • 打赏
  • 举报
回复
1 微博基础数据接口 (Rest API)
1.1 获取下行数据集(timeline)接口
1.2 微博访问接口
1.3 用户接口
1.4 私信接口
1.5 关注接口
1.6 Social Graph接口
1.7 隐私设置接口[NEW]
1.8 黑名单接口 [NEW]
1.9 用户标签接口[NEW]
1.10 账号接口
1.11 收藏接口
1.12 登录/OAuth接口
2 微博搜索 API (Search API)
2.1 用户搜索
2.2 微博搜索
3 微博地理位置信息API (Location API)
3.1 地理信息搜索接口
3.2 坐标获取接口
4 测试接口
5 附录
5.1 Rest API字段说明
5.2 地理信息字段说明

微博基础数据接口 (Rest API)
获取下行数据集(timeline)接口
statuses/public_timeline 获取最新的公共微博消息
statuses/friends_timeline 获取当前登录用户及其所关注用户的最新微博消息 (别名: statuses/home_timeline)
statuses/user_timeline 获取当前登录用户发布的微博消息列表
statuses/mentions 获取@当前用户的微博列表
statuses/comments_timeline 获取当前用户发送及收到的评论列表
statuses/comments_by_me 获取当前用户发出的评论
statuses/comments_to_me 获取当前用户收到的评论
statuses/comments 根据微博消息ID返回某条微博消息的评论列表
statuses/counts 批量获取一组微博的评论数及转发数
statuses/repost_timeline 返回一条原创微博的最新n条转发微博信息 New!
statuses/repost_by_me 返回用户转发的最新n条微博信息 New!
statuses/unread 获取当前用户未读消息数
statuses/reset_count 未读消息数清零接口
emotions 表情接口,获取表情列表
微博访问接口
statuses/show 根据ID获取单条微博信息内容
user/statuses/id 根据微博ID和用户ID跳转到单条微博页面
statuses/update 发布一条微博信息
statuses/upload 上传图片并发布一条微博信息
statuses/destroy 删除一条微博信息
statuses/repost 转发一条微博信息Updated!
statuses/comment 对一条微博信息进行评论
statuses/comment_destroy/:id 删除当前用户的微博评论信息
statuses/comment/destroy_batch 批量删除当前用户的微博评论信息
statuses/reply 回复微博评论信息
用户接口
users/show 根据用户ID获取用户资料(授权用户)
*user/friends/update_define 修改用户关注对象的备注信息
statuses/friends 获取用户关注列表及每个关注用户最新一条微博
statuses/followers 获取用户粉丝列表及及每个粉丝用户最新一条微博
users/hot 获取系统推荐用户
user/friends/update_remark更新当前登录用户所关注的某个好友的备注信息New!
私信接口
direct_messages 获取当前用户最新私信列表
direct_messages/sent 获取当前用户发送的最新私信列表
direct_messages/new 发送一条私信
direct_messages/destroy/:id 删除一条私信
direct_messages/destroy_batch 批量删除私信
关注接口
friendships/create 关注某用户
friendships/destroy 取消关注
friendships/exists 是否关注某用户(推荐使用friendships/show)
friendships/show 获取两个用户关系的详细情况
Social Graph接口
friends/ids 获取用户关注对象uid列表
followers/ids 获取用户粉丝对象uid列表
隐私设置接口[NEW]
account/update_privacy 设置隐私信息
account/get_privacy 获取隐私信息
黑名单接口 [NEW]
blocks/create 将某用户加入黑名单
blocks/destroy 将某用户移出黑名单
blocks/exists 检测某用户是否是黑名单用户
blocks/blocking 列出黑名单用户(输出用户详细信息)
blocks/blocking/ids 列出分页黑名单用户(只输出id)
用户标签接口[NEW]
tags 返回指定用户的标签列表
tags/create 添加用户标签
tags/suggestions 返回用户感兴趣的标签
tags/destroy 删除标签
tags/destroy_batch 批量删除标签
账号接口
account/verify_credentials 验证当前用户身份是否合法
account/rate_limit_status 获取当前用户API访问频率限制
account/end_session 当前用户退出登录
account/update_profile_image 更改头像
account/update_profile 更改资料
account/register 注册新浪微博帐号
account/activate 二次注册微博的接口
收藏接口
favorites 获取当前用户的收藏列表
favorites/create 添加收藏
favorites/destroy 删除当前用户收藏的微博信息
favorites/destroy_batch 批量删除收藏的微博信息
登录/OAuth接口
oauth OAuth授权方式介绍
oauth/request_token 获取未授权的Request Token
oauth/authorize 请求用户授权Token
oauth/access_token 获取授权过的Access Token
微博搜索 API (Search API)
Search API仅对新浪合作开发者开放,申请请联系 @微博开放平台

用户搜索
users/search 搜索微博用户 (仅对新浪合作开发者开放)
微博搜索
search 搜索微博文章 (仅对新浪合作开发者开放)
statuses/search 搜索微博(多条件组合) (仅对合作开发者开放)
微博地理位置信息API (Location API)
Map API仅对新浪合作开发者开放,有任何问题,请联系 @地理信息开放平台

地理信息搜索接口
location/route 驾车路线搜索接口
location/bus 公交换乘路线搜索接口
坐标获取接口
location/ip2xy 获取ip对应坐标的接口
location/addr2xy 获取地址对应坐标的接口
location/get_addr 获取坐标的地址信息的接口
测试接口
help/test 测试接口
附录
Rest API字段说明
status 微博信息内容
user 用户资料信息
comment 评论信息描述
direct_message 私信信息
省份城市编码表
地理信息字段说明
location/citycode 城市代码对应表
location/citycode_bus 公交城市代码表
location/category 分类代码对应表
cocolong2002 2010-12-19
  • 打赏
  • 举报
回复
1 微博基础数据接口 (Rest API)
1.1 获取下行数据集(timeline)接口
1.2 微博访问接口
1.3 用户接口
1.4 私信接口
1.5 关注接口
1.6 Social Graph接口
1.7 隐私设置接口[NEW]
1.8 黑名单接口 [NEW]
1.9 用户标签接口[NEW]
1.10 账号接口
1.11 收藏接口
1.12 登录/OAuth接口
2 微博搜索 API (Search API)
2.1 用户搜索
2.2 微博搜索
3 微博地理位置信息API (Location API)
3.1 地理信息搜索接口
3.2 坐标获取接口
4 测试接口
5 附录
5.1 Rest API字段说明
5.2 地理信息字段说明

微博基础数据接口 (Rest API)
获取下行数据集(timeline)接口
statuses/public_timeline 获取最新的公共微博消息
statuses/friends_timeline 获取当前登录用户及其所关注用户的最新微博消息 (别名: statuses/home_timeline)
statuses/user_timeline 获取当前登录用户发布的微博消息列表
statuses/mentions 获取@当前用户的微博列表
statuses/comments_timeline 获取当前用户发送及收到的评论列表
statuses/comments_by_me 获取当前用户发出的评论
statuses/comments_to_me 获取当前用户收到的评论
statuses/comments 根据微博消息ID返回某条微博消息的评论列表
statuses/counts 批量获取一组微博的评论数及转发数
statuses/repost_timeline 返回一条原创微博的最新n条转发微博信息 New!
statuses/repost_by_me 返回用户转发的最新n条微博信息 New!
statuses/unread 获取当前用户未读消息数
statuses/reset_count 未读消息数清零接口
emotions 表情接口,获取表情列表
微博访问接口
statuses/show 根据ID获取单条微博信息内容
user/statuses/id 根据微博ID和用户ID跳转到单条微博页面
statuses/update 发布一条微博信息
statuses/upload 上传图片并发布一条微博信息
statuses/destroy 删除一条微博信息
statuses/repost 转发一条微博信息Updated!
statuses/comment 对一条微博信息进行评论
statuses/comment_destroy/:id 删除当前用户的微博评论信息
statuses/comment/destroy_batch 批量删除当前用户的微博评论信息
statuses/reply 回复微博评论信息
用户接口
users/show 根据用户ID获取用户资料(授权用户)
*user/friends/update_define 修改用户关注对象的备注信息
statuses/friends 获取用户关注列表及每个关注用户最新一条微博
statuses/followers 获取用户粉丝列表及及每个粉丝用户最新一条微博
users/hot 获取系统推荐用户
user/friends/update_remark更新当前登录用户所关注的某个好友的备注信息New!
私信接口
direct_messages 获取当前用户最新私信列表
direct_messages/sent 获取当前用户发送的最新私信列表
direct_messages/new 发送一条私信
direct_messages/destroy/:id 删除一条私信
direct_messages/destroy_batch 批量删除私信
关注接口
friendships/create 关注某用户
friendships/destroy 取消关注
friendships/exists 是否关注某用户(推荐使用friendships/show)
friendships/show 获取两个用户关系的详细情况
Social Graph接口
friends/ids 获取用户关注对象uid列表
followers/ids 获取用户粉丝对象uid列表
隐私设置接口[NEW]
account/update_privacy 设置隐私信息
account/get_privacy 获取隐私信息
黑名单接口 [NEW]
blocks/create 将某用户加入黑名单
blocks/destroy 将某用户移出黑名单
blocks/exists 检测某用户是否是黑名单用户
blocks/blocking 列出黑名单用户(输出用户详细信息)
blocks/blocking/ids 列出分页黑名单用户(只输出id)
用户标签接口[NEW]
tags 返回指定用户的标签列表
tags/create 添加用户标签
tags/suggestions 返回用户感兴趣的标签
tags/destroy 删除标签
tags/destroy_batch 批量删除标签
账号接口
account/verify_credentials 验证当前用户身份是否合法
account/rate_limit_status 获取当前用户API访问频率限制
account/end_session 当前用户退出登录
account/update_profile_image 更改头像
account/update_profile 更改资料
account/register 注册新浪微博帐号
account/activate 二次注册微博的接口
收藏接口
favorites 获取当前用户的收藏列表
favorites/create 添加收藏
favorites/destroy 删除当前用户收藏的微博信息
favorites/destroy_batch 批量删除收藏的微博信息
登录/OAuth接口
oauth OAuth授权方式介绍
oauth/request_token 获取未授权的Request Token
oauth/authorize 请求用户授权Token
oauth/access_token 获取授权过的Access Token
微博搜索 API (Search API)
Search API仅对新浪合作开发者开放,申请请联系 @微博开放平台

用户搜索
users/search 搜索微博用户 (仅对新浪合作开发者开放)
微博搜索
search 搜索微博文章 (仅对新浪合作开发者开放)
statuses/search 搜索微博(多条件组合) (仅对合作开发者开放)
微博地理位置信息API (Location API)
Map API仅对新浪合作开发者开放,有任何问题,请联系 @地理信息开放平台

地理信息搜索接口
location/route 驾车路线搜索接口
location/bus 公交换乘路线搜索接口
坐标获取接口
location/ip2xy 获取ip对应坐标的接口
location/addr2xy 获取地址对应坐标的接口
location/get_addr 获取坐标的地址信息的接口
测试接口
help/test 测试接口
附录
Rest API字段说明
status 微博信息内容
user 用户资料信息
comment 评论信息描述
direct_message 私信信息
省份城市编码表
地理信息字段说明
location/citycode 城市代码对应表
location/citycode_bus 公交城市代码表
location/category 分类代码对应表

2,764

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧