更新时间:2010-04-12
JavaEye目前提供如下的API,更多API将会陆续推出。
(文档编写中...)
用户认证
目前所有的API都需要认证,验证方式为
HTTP Basic Access Authentication。
如果你的系统有curl,可以用curl来非常简单地来尝试这些API,以用户认证的API为例子:
- curl -u 用户名:密码 http://api.iteye.com/api/auth/verify
curl -u 用户名:密码 http://api.iteye.com/api/auth/verify
认证成功返回JSON格式字符串:
{"domain": "博客子域名", "name": "用户名", "id": 用户ID}
认证失败返回字符串:
error.auth.fail
对应的HTTP Response Code为401
为了避免暴力破解密码,如果某个IP的连续认证错误超过6次,在一个小时内将会无法进行认证,返回字符串:
error.auth.over.limit
对应的HTTP Response Code为401
为了避免对服务器过大压力,限制单个IP的单个用户请求,每小时不能超过300次,超过的用户在一小时内调用任何API都会返回字符串:
error.api.over.limit
对应的HTTP Response Code为400
闲聊API
基本数据参数说明
返回值中如果包含闲聊记录,统一都是JSON格式的字符串,有如下属性
- id: 闲聊ID
- created_at: 创建时间
- body: 闲聊内容
- user: 闲聊发布者,属性如下
- name: 用户名
- logo: 头像文件路径(最大宽高150x150),如果要获取缩略图,路径为xxx-thumb.jpg(最大宽高48x48)
- domain: 用户的博客子域名
- receiver: 闲聊接收者,属性同user,可能为空
- reply_to_id: 回复某条闲聊ID,可能为空
- via: 通过什么发布
id: 闲聊ID
created_at: 创建时间
body: 闲聊内容
user: 闲聊发布者,属性如下
name: 用户名
logo: 头像文件路径(最大宽高150x150),如果要获取缩略图,路径为xxx-thumb.jpg(最大宽高48x48)
domain: 用户的博客子域名
receiver: 闲聊接收者,属性同user,可能为空
reply_to_id: 回复某条闲聊ID,可能为空
via: 通过什么发布
返回值每页显示30条闲聊记录
可选参数的统一定义:
last_id: 只抓取大于这个id的闲聊记录
page: 抓取第N页记录
闲聊一下
URL: http://api.iteye.com/api/twitters/list
返回值: 包含闲聊记录的JSON格式字符串(数组格式)
可选参数: last_id, page
我的闲聊
URL: http://api.iteye.com/api/twitters/my
返回值: 包含闲聊记录的JSON格式字符串 (数组格式)
可选参数: last_id, page
@我的
URL: http://api.iteye.com/api/twitters/replies
返回值: 包含闲聊记录的JSON格式字符串(数组格式)
可选参数: last_id, page
全站闲聊
URL: http://api.iteye.com/api/twitters/all
返回值: 包含闲聊记录的JSON格式字符串(数组格式)
可选参数: last_id, page
发布新闲聊
URL: http://api.iteye.com/api/twitters/create
返回值: 新发布成功的闲聊记录的JSON格式字符串
必需参数:
body: 闲聊内容
可选参数:
reply_to_id: 回复某条闲聊的id
via: 通过什么发布
删除闲聊
URL: http://api.iteye.com/api/twitters/destroy
返回值: 成功删除的闲聊id,如果失败,返回"error.record.not.found"字符串
通过ID获取闲聊记录
URL: http://api.iteye.com/api/twitters/show
必需参数:
id: 你需要获取的闲聊id,如果要一次获取多个记录,可以用逗号分隔传递(id=1,2,3),最多支持30个id
返回值:
找不到任何记录,返回"error.record.not.found"字符串
获取一条记录,返回该闲聊记录的JSON格式字符串
获取多条记录,多条闲聊记录的JSON格式字符串(数组格式)
用户收藏API
基本数据参数说明
返回值中如果包含收藏记录,统一都是JSON格式的字符串,有如下属性
- id: 收藏ID
- url: 收藏的链接
- title: 收藏的标题
- description: 描述
- cached_tag_list:标签(多个标签用半角英文逗号隔开)
- public: 代表是公开收藏还是私人收藏
- created_at: 添加该收藏的时间
id: 收藏ID
url: 收藏的链接
title: 收藏的标题
description: 描述
cached_tag_list:标签(多个标签用半角英文逗号隔开)
public: 代表是公开收藏还是私人收藏
created_at: 添加该收藏的时间
列出用户收藏
URL: http://api.iteye.com/api/user_favorites/list
返回值: 包含用户收藏的JSON格式字符串(数组格式)
注意:目前是全部列出用户的收藏数据,如果用户收藏非常多的话,速度可能会比较慢,建议一次获取以后进行缓存。以后可能会加入分页的功能。
新加收藏
URL: http://api.iteye.com/api/user_favorites/create
返回值: 添加成功的用户收藏的JSON格式字符串
必需参数:
url: 收藏文章的链接
title: 收藏文章的标题
可选参数:
description: 描述
tag_list: 标签(多个标签用半角英文逗号隔开)
share: 是否公开和大家共享,用false代表不公开(默认公开)
更新收藏
URL: http://api.iteye.com/api/user_favorites/update
返回值: 更新成功的用户收藏的JSON格式字符串,如果找不到对应id对应的数据,返回"error.record.not.found"字符串
必需参数:
id: 更新用户收藏的ID
其他参数同“新加收藏”
删除收藏
URL: http://api.iteye.com/api/user_favorites/destroy
返回值: 删除成功的记录id,如果找不到对应id对应的数据,返回"error.record.not.found"字符串
必需参数:
id: 删除用户收藏的ID
站内短信API
基本数据参数说明
返回值中如果包含站内短信记录,统一都是JSON格式的字符串,有如下属性
- id: 短信ID
- created_at: 创建时间
- system_notice: 是否系统短信的标记
- has_read: 是否已读的标记
- attach: 是否有附件的标记
- title: 短信标题
- plain_body: 短信内容(已经去除HTML标签)
- sender: 短信发送者,属性如下
- name: 用户名
- logo: 头像文件路径(最大宽高150x150),如果要获取缩略图,路径为xxx-thumb.jpg(最大宽高48x48)
- domain: 用户的博客子域名
- receiver: 闲聊接收者,属性同sender
id: 短信ID
created_at: 创建时间
system_notice: 是否系统短信的标记
has_read: 是否已读的标记
attach: 是否有附件的标记
title: 短信标题
plain_body: 短信内容(已经去除HTML标签)
sender: 短信发送者,属性如下
name: 用户名
logo: 头像文件路径(最大宽高150x150),如果要获取缩略图,路径为xxx-thumb.jpg(最大宽高48x48)
domain: 用户的博客子域名
receiver: 闲聊接收者,属性同sender
收件箱
URL: http://api.iteye.com/api/messages/inbox
返回值: 包含闲聊记录的JSON格式字符串(数组格式,每页15条记录)
可选参数:
last_id: 只抓取大于这个id的站内短信记录
page: 抓取第N页记录
注意:调用这个方法以后,如果返回值中有包含未读短信,在下一次调用的时候将会标记为已读
发送站内短信
URL: http://api.iteye.com/api/messages/create
返回值: 新发送成功短信的JSON格式字符串,如果失败,返回"error.具体的错误信息"字符串
必需参数:
title: 短信标题
body: 短信内容
receiver_name: 收件人用户名
回复站内短信
URL: http://api.iteye.com/api/messages/reply
返回值: 新回复成功短信的JSON格式字符串,如果失败,返回"error.具体的错误信息"字符串
必需参数:
id: 要回复的短信ID
title: 短信标题
body: 短信内容
删除站内短信
URL: http://api.iteye.com/api/messages/destroy
返回值: 成功删除的短信id,如果失败,返回"error.record.not.found"字符串
必需参数:
id: 要删除的短信ID
疑难问题
1、用curl测试成功,但是用Java编写程序发现失败,说拒绝连接
通过应用程序访问API的时候,请在User-Agent信息上面声明:"JavaEye API Client"