阅读:68518次   评论:84条   更新时间:2011-10-28    
ITeye目前提供如下的API,更多API将会陆续推出。

(文档编写中...)

用户认证 Top

目前所有的API都需要认证,验证方式为HTTP Basic  Access Authentication

如果你的系统有curl,可以用curl来非常简单地来尝试这些API,以用户认证的API为例子:

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 Top

基本数据参数说明
返回值中如果包含闲聊记录,统一都是JSON格式的字符串,有如下属性
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 Top

基本数据参数说明
返回值中如果包含收藏记录,统一都是JSON格式的字符串,有如下属性
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 Top

基本数据参数说明
返回值中如果包含站内短信记录,统一都是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


收件箱
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

疑难问题 Top

1、用curl测试成功,但是用Java编写程序发现失败,说拒绝连接

通过应用程序访问API的时候,请在User-Agent信息上面声明:"JavaEye API Client"




评论 共 84 条 请登录后发表评论
84 楼 areful 2013-03-23 12:46
sunzhanchao 写道
终于搞明白这些api怎么用了.这种curl接口很安全,但是总感觉这种调用接口的方式让我心里闷闷的,有一种很不爽的感觉,这种感觉是从哪里出来的呢?


用户的账户隐私就没有安全性可言了.如果用客户端做一个应用,然后弹密码框告知用户输入用户名密码,就可以登录,这样的客户端你敢用吗,能确保这个客户端不会收集你的账户信息然后发送到其他地方?

参考一下新浪微博的开放API吧,OAuth研究一下.
83 楼 tomfish88 2012-02-04 16:47
httpConn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");

diffuser 写道
为什么我用httpclient去获得信息竟然得到的是如下的内容??

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keyword" content="JavaEye,IT,开发,交流,社区,java, ruby, ajax, agile" />
    <title>您的访问请求被拒绝 - JavaEye技术社区</title>
    <style type="text/css">
      .clearfix:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
      }
      .clearfix {
        display:block;
      }
      .left {
        float: left;
      }
      h1 {font-size: 20px;color: #6293BB;}
      p  {font-size: 14px;color: #6293BB;}
    </style>
  </head>
  <body>
    <div style="padding:50px 0 0 300px">
      <h1>您的访问请求被拒绝</h1>
    </div>
    <div class="clearfix">
      <div class="left" style="padding-left:120px">
        <img src="/images/filenotfound.jpg" width="128" height="128" />
      </div>
      <div class="left" style="width:700px;padding:30px 0 0 30px">
        <p>您可能使用了网络爬虫抓取JavaEye网站页面!</p>
        <p>JavaEye网站不允许您使用网络爬虫对JavaEye进行恶意的网页抓取,请您立刻停止该抓取行为!</p>
        <p>如果您的网络爬虫不属于恶意抓取行为,希望JavaEye网站允许你进行网页抓取,请和JavaEye管理员联系,取得授权: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
        <p>如果您确实使用浏览器访问,但是被错误的识别为网络爬虫,请将您浏览器发送的“User Agent”信息告知我们,帮助我们解决错误: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
      </div>
    </div>
    <div style="padding:20px 0 0 500px">
      <a href="http://www.javaeye.com"><img src='/images/logo_small.gif' border='0'></a>
    </div>
  </body>
</html>

82 楼 tomfish88 2012-02-04 16:46
兄弟,你没设浏览器啊
diffuser 写道
为什么我用httpclient去获得信息竟然得到的是如下的内容??

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keyword" content="JavaEye,IT,开发,交流,社区,java, ruby, ajax, agile" />
    <title>您的访问请求被拒绝 - JavaEye技术社区</title>
    <style type="text/css">
      .clearfix:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
      }
      .clearfix {
        display:block;
      }
      .left {
        float: left;
      }
      h1 {font-size: 20px;color: #6293BB;}
      p  {font-size: 14px;color: #6293BB;}
    </style>
  </head>
  <body>
    <div style="padding:50px 0 0 300px">
      <h1>您的访问请求被拒绝</h1>
    </div>
    <div class="clearfix">
      <div class="left" style="padding-left:120px">
        <img src="/images/filenotfound.jpg" width="128" height="128" />
      </div>
      <div class="left" style="width:700px;padding:30px 0 0 30px">
        <p>您可能使用了网络爬虫抓取JavaEye网站页面!</p>
        <p>JavaEye网站不允许您使用网络爬虫对JavaEye进行恶意的网页抓取,请您立刻停止该抓取行为!</p>
        <p>如果您的网络爬虫不属于恶意抓取行为,希望JavaEye网站允许你进行网页抓取,请和JavaEye管理员联系,取得授权: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
        <p>如果您确实使用浏览器访问,但是被错误的识别为网络爬虫,请将您浏览器发送的“User Agent”信息告知我们,帮助我们解决错误: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
      </div>
    </div>
    <div style="padding:20px 0 0 500px">
      <a href="http://www.javaeye.com"><img src='/images/logo_small.gif' border='0'></a>
    </div>
  </body>
</html>

diffuser 写道
为什么我用httpclient去获得信息竟然得到的是如下的内容??

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keyword" content="JavaEye,IT,开发,交流,社区,java, ruby, ajax, agile" />
    <title>您的访问请求被拒绝 - JavaEye技术社区</title>
    <style type="text/css">
      .clearfix:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
      }
      .clearfix {
        display:block;
      }
      .left {
        float: left;
      }
      h1 {font-size: 20px;color: #6293BB;}
      p  {font-size: 14px;color: #6293BB;}
    </style>
  </head>
  <body>
    <div style="padding:50px 0 0 300px">
      <h1>您的访问请求被拒绝</h1>
    </div>
    <div class="clearfix">
      <div class="left" style="padding-left:120px">
        <img src="/images/filenotfound.jpg" width="128" height="128" />
      </div>
      <div class="left" style="width:700px;padding:30px 0 0 30px">
        <p>您可能使用了网络爬虫抓取JavaEye网站页面!</p>
        <p>JavaEye网站不允许您使用网络爬虫对JavaEye进行恶意的网页抓取,请您立刻停止该抓取行为!</p>
        <p>如果您的网络爬虫不属于恶意抓取行为,希望JavaEye网站允许你进行网页抓取,请和JavaEye管理员联系,取得授权: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
        <p>如果您确实使用浏览器访问,但是被错误的识别为网络爬虫,请将您浏览器发送的“User Agent”信息告知我们,帮助我们解决错误: webmaster<img src='/images/email.gif' alt="Email" />support.javaeye.com</p>
      </div>
    </div>
    <div style="padding:20px 0 0 500px">
      <a href="http://www.javaeye.com"><img src='/images/logo_small.gif' border='0'></a>
    </div>
  </body>
</html>

81 楼 tjuking 2011-11-24 16:57
out.println("have a try");
80 楼 silymer 2011-10-24 15:10
不会用~杯具
79 楼 坏小子小滨 2011-08-10 08:22
  
78 楼 sunzhanchao 2011-07-22 10:19
终于搞明白这些api怎么用了.这种curl接口很安全,但是总感觉这种调用接口的方式让我心里闷闷的,有一种很不爽的感觉,这种感觉是从哪里出来的呢?
77 楼 b_l_east 2011-07-15 12:29
我想知道我如何传递自己的用户信息去验证。什么格式啊
76 楼 grandboy 2011-06-25 16:20
http://api.iteye.com/api/twitters/create
http://api.iteye.com/api/twitters/destroy

今天看到这里API设计,想请问设计者为什么这里没有使用POST和DELETE方法分别去对应create和destroy两个动作,而是使用两个URL来处理呢? 既然是RESTful,我觉得应该按照它的思想去做。不知道作者出于什么考虑?
75 楼 bbbbb1202 2011-05-19 08:58
看不明白。
74 楼 xyqck163 2011-04-21 11:16
用户收藏的api失效了, 抽时间检查一下吧,一直在用,弄得现在很不方便 
73 楼 luoyl 2011-03-30 12:59
原想做一个je闲聊的iphone客户端,前几天做出了原型,因为测试操作频繁,被判断为爬虫,封了ip,发了几封信给webmaster#support.javaeye.com都没回音。
72 楼 songfantasy 2011-02-24 17:17
这种API是使用的restful?还是什么搞的?
71 楼 joyoytj 2011-01-31 14:28
传递用户名口令的参数名字是什么,这些基本的都不告诉开发者,算什么API?
70 楼 fooky 2011-01-20 16:57
这几天API服务器是不是有问题啊,用那个开源的android客户端登录不了了,麻烦管理员解释一下,非常感谢!
69 楼 血冷狼 2011-01-15 17:34
怎么用的?
比如说用户认证那里,是直接在浏览器的地址栏里输http://api.javaeye.com/api/auth/verify吗?
我输了几次  返回的都是error.auth.fail
68 楼 lupingui 2011-01-05 14:07
相同的验证发送,有时成功有时失败。。。
67 楼 richard_2010 2010-12-25 11:30
api太少了,开放的又没什么用处。。。
66 楼 ctfzh 2010-12-20 21:40
不知道有什么用。
65 楼 yeshaoting 2010-12-14 20:34
有时间研究一下玩玩.
64 楼 生活小丑 2010-11-24 18:45
不是很明白.....
63 楼 hj_Sunflower 2010-11-14 11:31
62 楼 yelang2009 2010-10-20 22:45
为什么不有博客的API呢
61 楼 飞语001 2010-10-13 07:47
不知道在自己的网站中能不能调用这些API,如果能调用的话,用处比较大。
60 楼 lilongsy 2010-09-30 15:34
看着不错,不过现在暂时用不倒。
59 楼 lostpast 2010-09-16 14:00
没啥实用的啊
58 楼 cixi2010 2010-08-10 21:31
十分感谢,
57 楼 qiang303 2010-08-06 16:06
56 楼 xmind 2010-07-23 11:24
  不会用。
55 楼 diffuser 2010-06-28 21:01
我用httpclient,也设置了User-Agent为:"JavaEye API Client",
但是依然告诉我使用了网络爬虫。
谁能告诉我怎么回事?

发表评论

您还没有登录,请您登录后再发表评论

文章信息

Global site tag (gtag.js) - Google Analytics