金牌译作 Google Reader API

1318个读者 译者: deng  04/12/2008 原文 引用 双语对照及眉批

简介

Google  Reader  是一个使用了大量JavaScript构建的feed聚合器,它能非常及时地抓取最新的feed数据。Google的Ajax前台调用到的数据采用了Atom格式,这种数据技术降低了Google  Reader的开发难度,同时也使得第三方应用很容易对其进行扩展。本文作者将带你提前预览Google  Reader  API。

Google Reader 是一个使用了大量JavaScript构建的feed聚合器,它能非常及时地抓取最新的feed数据。Google的Ajax前台调用到的数据采用了Atom格式,这种数据技术降低了Google Reader的开发难度,同时也使得第三方应用很容易对其进行扩展。接下来我将带你提前预览Google Reader API

晚上10:40更新:Google Reader的产品经理Jason Shellen告诉我Google是先建立feed的API,然后才在这些数据之上建立的程序,这无疑是一个如何利用这些数据的典范。Jason肯定了我接下来这些文档的准确性,而且宣称Google计划“很快”(有可能是一个月内)将发布一个关于feed的API。同时,Google Reader的工程师Chris Wetherell也确认了这些说法

对新的聚合器开发者来说,由第三方提供的稳定可靠的feed解析服务能有效地降低其入门难度。Google和他们的工程师、服务器集群能够处理各种不同格式和验证状态的feed,使得开发者能把精力集中到交互体验和其他功能上来。你可以建立基于大量用户的应用,获取和同步他们的feed订阅列表,并且给用户提供基于不同设备和平台的更好体验。Google Reader本身只是给这些有用的数据提供了一种视图而已。

Google Reader对使用其feed系统的用户分配了20位数字构成的用户ID,用户各种数据的获取,都需要利用到domain为google.com下的名叫SID的cookie字段。

Feed获取

/reader/atom/feed/

不管feed一开始采用了什么格式,Google都将其转化为Atom格式。所有的RSS feed包含一切在提要里边出现的所有元素,这一点和My Yahoo! backend不一样,Yahoo的不包含任何附加的元数据。

你可以一下的格式从Google Reader访问任何feed:

你可以通过参数n设置返回的文章数量,默认为20。

Google忽略掉在阅读器里边没有用的数据,它们包括命名空间(如Apple iTunes podcast、Yahoo! Media RSS的命名空间)、作者信息(如email、主页地址等)、甚至于版权等内容。

订阅列表

/reader/atom/user/[user id]/pref/com.google/subscriptions

Google Reader的feed订阅列表包含用户当前订阅的和已经被删除的订阅。每个feed包含其地址、发布和更新时间、用户标记的标签(如果有的话)。当前订阅都被归类到阅读列表状态。通过设置complete为true,你还可以获取到所有的feed列表。

这里是我在Google Reader用户ID全部为0的账户的订阅列表。我没有订阅我自己的RSS feed,不过给我的Atom feed打上了标签。不管在原feed里边是否声明了作者,在每个列出的feed包含author元素都是空的。也许Google计划增加feed的认领服务,不过即使是他们自己的Google Blog,也还是没有任何额外的作者信息。

阅读列表

/reader/atom/user[user id]/state/com.google/reading-list

我最喜欢Google Reader的阅读列表功能,它能直接访问到我订阅feed中所有未读的文章,以一种“新闻流”的方式展现它们。

这里有一个我的阅读列表的例子,你同样可以通过参数n设置返回文章的数量。

已阅读文章

http://www.google.com/reader/atom/user/[user ID]/state/com.google/read

你可以通过这个API获取到用户在Google Reader里边已读的文章。如果想通过用户最近阅读的100篇文章分析其趋势或者实现对它们的查询,那么这个功能就很有用了。参数n同样可以设置返回的文章数量。

某标签下的文章列表

/reader/atom/user/[user id]/label/[tag]

你还可以查看指定标签下最近发表的文章。比如你把很多feed标记为“营销”,只是想访问有关营销的feed,这就很有用了。返回的内容中包含已读和未读的文章。已读的文章被归类到已读(state/com.google/read),你可以通过这判断是否将它们隐藏起来。返回的数量可以通过参数n来判断。

标星文章

/reader/atom/user[user id]/state/com.google/starred

Google Reader允许用户对文章标星。这些标星文章包括有feed地址、标签、发布/更新时间。你可以通过参数n指定返回的数量,默认为20。

Google将标星项目视作一种特殊的标签,因此输出的内容和标签下文章列表结构一致。

添加或删除订阅

/reader/api/0/edit-subscription

使用POST请求访问Google Reader的API,你可以添加任何feed到Google Reader的订阅列表。

  • /reader/api/0/edit-subscription -- 基本地址
  • ac=["subscribe" 或者 "unsubscribe"] -- 请求动作
  • s=feed%2F[feed URL] -- 请求的订阅
  • T=[命令标识] -- Google发布的具有时效性的标识,可以通过/reader/api/0/token获取。

添加标签

/reader/api/0/edit-tag

通过HTTP的POST请求可以给一个feed或单独的文章打上标签。

  • /reader/api/0/edit-tag -- 基本地址
  • s=feed%2F[feed URL] -- 你想打标签的feed地址
  • i=[item id] -- 出现在feed中的文章的id,可选,用来给个别的文章打标签。
  • a=user%2F[user ID]%2Flabel%2F[标签] -- 请求动作,添加标签给feed,文章,或者两者。
  • a=user%2F[user ID]%2Fstate%2Fcom.google%2Fstarred -- 标星文章。
  • T=[special scramble] -- 关于用户和新标签的信息。可能处于安全因素考虑,尚未公开。

总结

基于对Google上面这些和县官服务的请求,你有可能构建自己的feed阅读器。你可以把Google作为你的后台,创建具有全新体验的在线和离线的程序,利用Google的ID,略施小计,你还可以创建更加高级的功能。

Google已经在这些数据API之上建立了第一个程序——Google Reader,从他们对API地址的选择之上来看的话,Google Reader应该不是最后一个基于这些数据集的程序。我喜欢数据调用的开放,Google Reader 的API是如此简单,相信会引导Google和第三方开发者创建更多的新应用!

继续阅读
  • 2006 年互联网技术发展趋势

    已经十二月了,是该回顾一下2006年互联网技术的发展状况,和展望2007年的时候了。在随后的几周,Read/WriteWeb将发表一系列深度分析2006年出现的产品和趋势的文章。同时我们会畅想一下20...

  • Facebook如何击败Myspace,Yahoo!和Google?

    Facebook如何击溃Myspace,Yahoo!和Google? 原文作者:Christopher Beam (Slate.com在线杂志专栏作家) 每个年轻人——通常刚脱稚气——必须作出一个重...

  • 三条提高gmail工作效率的可靠忠告

    如果你是个技术专家,email是必不可少的,但要完全控制所有电邮会很困难。如果你使用gmail和firefox,这里有一些技巧可以帮你如意掌控所有电邮。 第一个技巧是补救措施:把所有邮件保存在邮箱之...

  • Google 的疯狂面试题

    几星期前,一个朋友接受了Google公司的面试,他透露了面试中的一些问题。顺便,我把从其他几个曾经面试过的人那里听来的内容也整理在一起。最大的互联网公司Google的一份面试题集,看看你是否能够回答出...

  • 深究:发掘Google Reader的功能

    Google Reader 是一款功能庞大的RSS 阅读器,不过如果你没有仔细研究它的文档,那么你很可能并未充分利用它提供的功能。 今天我将通过介绍Google Reader丰富的快捷键来展示Goo...

  • 聪明地使用Google的7个技巧

    我在下面编辑了一份包含7个使用Google的技巧的清单,我相信每个人都会想要知道这些.我认为这些技巧合在一起已经代表了使用Google搜索的所有技巧和方法的最高成就.虽然除此之外还有很多小技巧,但这7...

  • Google 的临界点

    几天前,一件小事无端发生。Firefox(火狐浏览器)的创始人之一,Blake Ross,写了一篇文章批评Google。文章的标题:《提示:建立信任很难,但丢掉很容易》。文章批评Google 搜索的...

  • Google OpenSocial:第三方

    Techcrunch已获悉有关Google新的社会化网络项目的详细资料,它名为“OpenSocial ”(将特意于周四在美国推出)。OpenSocial本身并不是一种社交网络,而更像另一种通用的AP...

相关小组

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
 0.0  |  0 个评分

0条评论    0眉批

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译