社区
Ruby/Rails
帖子详情
Ruby实现sina微博api的连接(在线急等)
iM臭皮匠
2010-12-14 02:08:48
如题
...全文
1636
5
打赏
收藏
Ruby实现sina微博api的连接(在线急等)
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 分类代码对应表
ios-友盟自定义分享.zip
自定义分享界面
新浪
微博
API应用程序接口_什么是
API
? 应用程序编程接口说明
新浪
微博
API应用程序接口
API
代表应用程序编程接口,该概念广泛应用于从命令行工具到企业Java代码再到
Ruby
on Rails Web应用程序。
API
是一种通过编程方式与单独的软件组件或资源进行交互的方式。 除非您从头开始编写每一行代码,否则您将与外部软件组件进行交互,每个组件都有自己的
API
。 即使您确实完全是从头开始编写东西,一个经过精心设计的软件应用程序也将具有内部
API
,以帮...
WeiboOAuth2:新浪
微博
API
的
Ruby
封装库
WeiboOAuth2:新浪
微博
API
的
Ruby
封装库 项目介绍 WeiboOAuth2 是一个用于与新浪
微博
最新版本
API
(v2)进行交互的
Ruby
gem。该项目旨在为开发者提供一个简单、高效的工具,以便于在
Ruby
应用中集成新浪
微博
的功能。通过WeiboOAuth2,开发者可以轻松
实现
微博
的OAuth2授权、发布状态、上传图片等操作。 项目技术分析 技术栈
Ruby
:项目基于
Ruby
语言开...
微博
OAuth2
API
Ruby
Gem项目推荐
微博
OAuth2
API
Ruby
Gem项目推荐 项目基础介绍和主要编程语言
微博
OAuth2
API
Ruby
Gem 是一个用于与新浪
微博
OAuth2
API
进行交互的
Ruby
库。该项目的主要编程语言是
Ruby
,旨在为开发者提供一个简单易用的接口,以便与新浪
微博
的最新
API
版本进行交互。 项目核心功能 该项目的主要功能包括: OAuth2认证:支持通过OAuth2协议进行用户认证,获取访问...
新浪
微博
OAuth第三方登录C#源代码下载
整合了使用新浪
微博
账号登录第三方网站的服务,也就是说:当你来到一个新的网站的时候,无需注册,使用新浪
微博
的账户即可登录。 这种
连接
微博
的服务是
微博
开放平台提供给第三方网站的一种服务。这种服务包括身份认证、用户关系以及内容传播。
连接
微博
允许访问第三方网站的用户通过
微博
账号进行登录,分享内容,同步信息。通过使用
连接
微博
的服务,第三方网站不仅能够降低用户注册门槛,也能够让用户更快的与
微博
...
Ruby/Rails
2,764
社区成员
1,761
社区内容
发帖
与我相关
我的任务
Ruby/Rails
Web 开发 Ruby/Rails
复制链接
扫一扫
分享
社区描述
Web 开发 Ruby/Rails
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章