Google阅读器是否有API?如果是这样,我如何知道特定用户知道其用户名和密码的未读帖子数量?
Slashdot的RSS源是http://rss.slashdot.org/Slashdot/slashdot.如果我直接下载XML文件,我今天只会收到一些帖子.但是,如果我订阅Google阅读器中的Feed,并继续向下滚动"无限滚动"界面,似乎我可以从过去获得任意数量的Slashdot帖子 - 也许我可以获得每个Slashdot帖子?
我想为WordPress构建一个小部件,它同时在首页上显示我最新的Google Reader项目,并允许从WordPress仪表板后面进行管理.我已经可以使用我在各种Google搜索中找到的代码添加我的"共享"项目,但这并不是我正在寻找的内容.
我喜欢iGoogle中Google阅读器小部件的功能,我想在WordPress仪表板上复制它,并为WordPress前端构建一个只读版本.我从哪里开始API(公共或'非官方')来构建它?
- 更新 -
我发现了一些有关身份验证协议的有限文档,但我无法实现任何功能.我可以解析一个URL来进行身份验证并获得一个直接放在浏览器中的SSID,但是GET和POST请求都是通过PHP失败的,所以我不能再进一步了.
- 更新 -
我已经将Martin Doms的C#教程的前几步转换为PHP,以便有兴趣在自己的网站上进行此操作的人.
我的Galaxy Nexus今天到了,我做的第一件事就是将我的应用程序加载到它上面,这样我就可以向朋友们展示它了.其部分功能涉及从Google阅读器导入RSS源.但是,在尝试这个时,我得到405方法不允许错误.
这个问题是Ice Cream Sandwich特有的.我附上的代码在Gingerbread和Honeycomb上运行良好.当GET请求神奇地变成POST请求时,我已经将错误追溯到建立连接的那一刻.
/**
* Get the authentication token from Google
* @param auth The Auth Key generated in getAuth()
* @return The authentication token
*/
private String getToken(String auth) {
final String tokenAddress = "https://www.google.com/reader/api/0/token";
String response = "";
URL tokenUrl;
try {
tokenUrl = new URL(tokenAddress);
HttpURLConnection connection = (HttpURLConnection) tokenUrl.openConnection();
connection.setRequestMethod("GET");
connection.addRequestProperty("Authorization", "GoogleLogin auth=" + auth);
connection.setRequestProperty("Content-Type","application/x-www-form-urlendcoded");
connection.setUseCaches(false);
connection.setDoOutput(true);
Log.d(TAG, "Initial method: " + connection.getRequestMethod()); // Still GET at this point
try {
connection.connect();
Log.d(TAG, …
Run Code Online (Sandbox Code Playgroud) 在阅读各种Stackoverflow帖子和各种文档(包括http://code.google.com/p/google-api-java-client/网站上的一些文档)后,我感到非常困惑.那么有人可以向我解释实现以下目标的最佳方法:
另一个令我困惑的地方 - 我能够使用AccountManager批准我的应用程序并从中获取身份验证令牌,但它不适用于Google阅读器.那么如何平衡AccountManager和OAuth的账户信息呢?我在AccountManager设置中获得用户批准后,是否仍需要对OAuth执行任何操作?
代码示例会很好但我看起来更清楚地解释了所有这些部分是如何相互关联的
为了将离线客户端写入Google阅读器服务,我想知道如何最好地与服务同步.
似乎还没有官方文档,我到目前为止找到的最佳来源是:http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI
现在考虑一下:有了上面的信息,我可以下载所有未读的项目,我可以指定下载多少项目并使用atom-id我可以检测到已经下载的重复项目.
对我来说缺少的是一种指定我只想要自上次同步以来的更新的方法.我可以说给我10个(参数n = 10)最新(参数r = d)条目.如果我指定参数r = o(日期升序),那么我也可以指定参数ot = [最后一次同步],但只有那时,升序顺序没有任何意义,当我只想阅读一些项目而不是所有项目项目.
知道如何解决这个问题,而无需再次下载所有项目,只是拒绝重复项目?不是一种非常经济的民意调查方式.
有人建议我可以指定我只想要未读条目.但是为了使该解决方案能够像Google Reader再次提供此条目一样,我需要将它们标记为已读.反过来,这意味着我需要在客户端保持自己的已读/未读状态,并且当用户登录到Google阅读器的在线版本时,条目已被标记为已读.这对我不起作用.
干杯,马里亚诺
我正在创建RSS阅读器应用程序.我需要获取任何链接的rss旧项目.例如,一些web rss结果计数太少了.我的申请检查时间范围太长.有时会丢失一些新闻.
我怎样才能获得rss旧物品?
向下滚动谷歌阅读器时,阅读器显示以前的项目.
我使用以下python函数将项目标记为在谷歌阅读器中读取,但它总是返回错误HTTPErrors:HTTP 401:未经授权:
def mark_as_read(SID, entryid): token = get_token(SID) mark_as_read_url = 'http://www.google.com/reader/api/0/edit-tag' header = {'Content-type': 'application/x-www-form-urlencoded'} post_data = urllib.urlencode({ 'i': entryid, 'a': 'user/-/state/com.google/read', 'ac': 'edit', 'T': token }) request = urllib2.Request(mark_as_read_url, post_data, header) f = urllib2.urlopen(request) result = f.read()
其他功能正在成功检索提要和条目,因此它不是基本的,如错误的用户名或密码.我已经读过urlencoding是必需的,所以我已经做到了.示例entryid如下所示:tag:google.com,2005:reader/item/f66ad0fb64f56a22
我究竟做错了什么?
我对非官方的读者api进行了大量的研究,并通过其他问题进行了筛选,但没有一个完全符合我的要求.如果您知道文章ID已经有详细记录,如何分享文章,但我想知道如果您不知道ID(如何转换网址 - > id或如何直接使用网址共享,如何共享文章作为参数).
我想这是可能的,因为它的功能几乎模仿了他们所拥有的令人敬畏的"Note in Reader"书签的行为.
谢谢!
这是我的网址看起来如何:
https://www.google.com/reader/api/0/mark-all-as-read?s=http://www.campionatoseriea.net&ts=1345114937
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么它不起作用!我已成功登录.
*编辑*
https://www.google.com/reader/api/0/mark-all-as-read?s=feed/http://www.campionatoseriea.net/feed&ts=1346843394
Run Code Online (Sandbox Code Playgroud)
我也试过这个查询,但它不起作用!