我发现自己经常使用feed(rss,atom,json等),并且大多数时候它将这些feed混合在一起用于一个站点,并且只是痛苦地试图构建你的代码以使每个条件都正确,并且它是浪费时间,金钱和资源.
所以我一直在使用谷歌饲料API来做很多事情,但是现在已经被杀死了(但没有被埋葬,但是 [ 2015年12月2日埋葬 ] { 更多的时间是12月4日 },我必须找个替代方案.以下是使Google Feed API变得非常棒的功能,这些功能也是任何替代方案的要求:
如果它是付费服务(当然是在合理范围内),或者它是否附带免费计划并不重要,但易用性应该是优先考虑的事情!
必须将允许从所述服务后端请求的域列入白名单,或者使用令牌,但是必须从后端订阅源是不可接受的,因为我们为无法访问的客户构建这些服务.说后端或想要使用它们.
我们需要一种服务,将我抛出的任何Feed转换为URL中的JSON.可以花钱,或自我托管.(这可能是最好的,看看Yahoo Pipes发生了什么,然后是Feed API ...)
因此,谷歌Feed API今天被埋葬了,很多东西现在已经死了.虽然我一般都认为推荐问题吸引了有争议的答案和垃圾邮件,但实际上没有任何关于这个主题的信息,它是我不断获得结果的feedburner或superfeedr,并且它们都没有真正提供与Google的api相同的功能.
朱利安在评论中有一个很好的观点,没有人能负担得起全世界的所有饲料,但没有人要求这样做.
我很乐意根据请求支付每次请求获取订阅源的费用,我不是要求每天24小时跟踪订阅源,只有当我要求它时.这是Superfeedr的主要问题,同时它不易使用.
好像我不需要按要求付款:
我会仔细考虑这个,因为它是免费的,没有任何信息,并且随着人们开始发现它可能会遇到交通困难.
在Github上还有很多操作系统替代品.
我正在使用Google Feed JSAPI来阅读/解析Feed.问题是,当Feed更改时,先前的条目变为无效(链接和图像不起作用),因此我无法加载源的缓存版本.我认为加载Feed时可以选择不使用缓存版本,但我没有看到.我的解决方案是在变量(t)中添加到feed url的末尾,因此它是"唯一的"但这看起来很糟糕(但它确实有效).有人知道更好的方法吗?
function onLoad() {
// Create a feed instance that will grab feed feed.
var feed = new google.feeds.Feed(feedLocation+"&t="+new Date().getTime());
// Request the results in XML (so that we can parse out all the info
feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
//must set this - if you don't, it defaults to 4
feed.setNumEntries(50);
// Calling load sends the request off. It requires a callback function.
feed.load(feedLoaded);
}
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用knockout.js,它在正常竞标中效果很好.我有observableArray的问题.
我想创建一个observableArray并为其分配来自Google Feed API的JSON数据.以下是JSON格式https://developers.google.com/feed/v1/devguide#resultJson
google.load("feeds", "1"); // Loads Google Feed API
function FeedViewModel()
{
// Data
var self = this;
self.allEntries = null;
// Example property, and it works
self.feedHead = ko.observable("BBC News");
var feed = new google.feeds.Feed("feeds.feedburner.com/BBCNews");
feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
feed.includeHistoricalEntries();
feed.setNumEntries(30);
// Loads feed results
feed.load(function (result) {
if (!result.error) {
self.allEntries = ko.observableArray(result.feed.entries);
// accessing the title from here is OK
alert(self.allEntries()[1].title);
}
});
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,从ViewModel访问数组是正常的,但是我需要使用foreach在浏览器中显示它:allEntries
<h2 data-bind="text: feedHead">Latest News</h2>
<!-- ko foreach:allEntries -->
<div class="lists">
<a href="#" …
Run Code Online (Sandbox Code Playgroud) 我刚刚打开了今天早上正在工作的新闻网站,没有显示RSS新闻提要,我去了Google Feed论坛,看看是否有关于它的任何帖子,我发现的唯一是这个。
https://developers.google.com/feed/forum?place=topic%2Fgoogle-ajax-search-api%2FxP6mKdRA6n4%2F讨论
到目前为止,还没有官方确认已经关闭它,只是猜测它已经关闭了。如果已关闭,是否意味着到目前为止一直在使用Google Feeds API的所有人都必须找到替代方法?有什么办法可以继续使用它?
如何使用google spreadsheet feeds
api 从多个工作表中获取Feed ?URL下方仅从第一张表中提取Feed.在我的spreadsheet
我3 work sheets
和我想要获取剩余的工作表数据.
https://spreadsheets.google.com/feeds/list/XXXXMYKEYXXXX/od6/public/values?alt=json-in-script
如何获取它们?
我尝试过以下没有成功:
https://spreadsheets.google.com/feeds/list/XXXXMYKEYXXXX/od7/public/values?alt=json-in-script
注意od7
而不是od6
电子表格Feed的更新网址为 https://spreadsheets.google.com/feeds/list/1c53H0piyduOV6zRwS54A7MDZ3SooJOmj4O52Xd0dyIA/od6/public/values?alt=json-in-script
在电子表格中我有TopicA
,TopicB
,TopicC
床单.Feed响应TopicA
仅包含信息.
我正在构建一个RSS阅读器.一些现有的(例如,iPhone/iPad的Pulse News)有一个搜索框,您可以搜索某个术语(例如"体育"),它将返回符合您搜索条件的供稿列表.所以在这个例子中,你输入"sports",然后搜索,然后回到ESPN.com的新闻源,Yahoo!体育'新闻提要等
经过初步研究,我发现Google Feed API也是如此. https://code.google.com/intl/fr/apis/ajaxfeeds/documentation/reference.html#findFeeds
但是,我无法弄清楚如何使用谷歌饲料api.它返回我需要解析的xml,但我感到困惑的部分是如何调用API以及在哪里捕获xml响应.有人可以发布一个教程或一些如何集成它的帮助.
var feedcontainer=document.getElementById("feeddiv")
var feedurl="http://example.com"
var feedlimit=5
var rssoutput="<b>Latest Slashdot News:</b><br /><ul>"
function rssfeedsetup(){
var feedpointer=new google.feeds.Feed(feedurl) //Google Feed API method
feedpointer.setNumEntries(feedlimit) //Google Feed API method
feedpointer.load(displayfeed) //Google Feed API method
}
function displayfeed(result){
if (!result.error){
var thefeeds=result.feed.entries
for (var i=0; i<thefeeds.length; i++)
rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + "</a></li>"
rssoutput+="</ul>"
feedcontainer.innerHTML=rssoutput
}
else
alert("Error fetching feeds!")
}
window.onload=function(){
rssfeedsetup()
}
Run Code Online (Sandbox Code Playgroud)
我从教程中抓取了这段代码,但它只抓取了Google文档中指定的项目,这些是链接和标题等基础知识.
在我的RSS订阅源中,我有一个标记位于是否有可能实现?
转换为JSON时,Google的Feed加载程序似乎忽略了属性.我正在使用jQuery通过AJAX获取feed.实际的RSS XML提要可以看到这里,并从AJAX调用的响应可以看出这里.
我需要访问标签的url
属性<enclosure>
,但都不会出现在响应中.
作为参考,我使用的代码是:
function getFeed(url) {
url = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q='
+ encodeURIComponent(url);
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
cache: false,
success: function(d) { alert(JSON.stringify(d); },
error: function(s,x) { alert(x); }
});
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何获得XML响应,因为更改dataType : 'xml'
会导致HTTP错误.JSON是首选.
有任何想法吗?
这是一个易于理解的问题,我会一步一步地解释清楚一切.
我正在使用Google Feed API将RSS文件加载到我的JavaScript应用程序中.
如果需要,我有一个设置可以绕过Google缓存,我通过在我发送到Google Feed API的RSS文件链接末尾附加一个随机数来执行此操作.
例如,假设这是一个指向RSS的链接:
http://example.com/feed.xml
Run Code Online (Sandbox Code Playgroud)
为了绕过缓存,我在末尾添加一个随机数作为参数:
http://example.com/feed.xml?0.12345
Run Code Online (Sandbox Code Playgroud)
Google Feed API的整个网址如下所示,其中"q"是以上链接:
https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=5&q=http://example.com/feed.xml?0.12345
Run Code Online (Sandbox Code Playgroud)
这会绕过缓存并在大多数情况下运行良好,但是当我想要使用的RSS链接已经有参数时会出现问题.例如,像这样:
http://example.com/feed?type=rss
Run Code Online (Sandbox Code Playgroud)
像之前一样在最后添加数字会产生错误,并且不会返回RSS文件:
http://example.com/feed?type=rss?0.12345 // ERROR
Run Code Online (Sandbox Code Playgroud)
我尝试使用"&"附加随机数,如下所示:
http://example.com/feed?type=rss&0.12345
Run Code Online (Sandbox Code Playgroud)
这不再出错,并且正确返回了RSS文件.但是,如果我在Google Feed API网址中使用上述内容,则不再绕过缓存:
https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=5&q=http://example.com/feed.xml&0.1234
Run Code Online (Sandbox Code Playgroud)
这是因为"0.1234"被认为是整个URL的参数而不是"q"url的参数.因此,"q"仅保留为" http://example.com/feed.xml ",它不是唯一的,因此加载了缓存版本.
有没有办法让数字参数成为"q"网址的一部分,而不是整个网址的一部分?
我想使用OAuth2.0访问Google Feed.我使用google-oauth-java-client获取访问令牌.如何使用它来访问feeds API?
我引用了dailymotion-cmdline-sample,并将SCOPE更改为http://www.google.com/reader/api
获取凭据.
它返回:
401 Unauthorized
You must be signed in to access this stream.
Run Code Online (Sandbox Code Playgroud)
我不知道出了什么问题......
我还阅读了一些帖子,显示OAuth2.0可以完成这项工作,但它们对我来说不够详细:
google-feed-api ×10
rss ×5
javascript ×4
json ×3
jquery ×2
google-api ×1
iphone ×1
java ×1
knockout.js ×1
oauth-2.0 ×1
objective-c ×1
php ×1
rss-reader ×1
search ×1
url ×1
xml ×1