zoukankan      html  css  js  c++  java
  • google reader api

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

    Feed获取

    /reader/atom/feed/

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

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

    • http://www.google.com/reader/atom/feed/ + [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和第三方开发者创建更多的新应用!

    参考资料:http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI 

     转http://www.cnblogs.com/mybear/archive/2011/02/18/1957704.html

  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/likwo/p/2609554.html
Copyright © 2011-2022 走看看