it-swarm.com.de

RSS-Feed mit AJAX laden: Alternativen zur Google Feed-API?

Ich habe die Google Feed-API zum Laden von RSS-Feeds verwendet, aber es scheint, als hätte Google die API heruntergefahren. Wenn ich beispielsweise versuche, den RSS-Feed der New York Times unter http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&q=http%3A%2F%2Frss.nytimes.com%2Fservices%2Fxml%2Frss%2Fnyt%2FHomePage.xml zu laden, erhalte ich die folgende Antwort:

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

Gibt es mögliche Alternativen?

18
Joe Mornin

Verwenden Sie Yahoo YQL API :

select * from xml where url = 'https://news.ycombinator.com/rss'

Sie können einen JSONP-Feed anfordern, indem Sie der URL einen callback-Parameter hinzufügen

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20'https%3A%2F%2Fnews.ycombinator.com%2Frss'&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=mycallback
27
Tony

Veraltet

Meinplugin , $ .jQRSS verwendet Google Feed und scheint mit Ihrem RSS - Link gut zu funktionieren :

var rss = 'http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml';
$.jQRSS(rss, { count: 8 }, function (feed, entries) {
	console.log([feed, entries]);
	$.each(entries, function(i) {
		if (this['content']) {
			var fieldset = $('<fieldset/>', { title: this.contentSnippet }).appendTo('body'),
				legend = $('<legend/>').appendTo(fieldset),
				$link = $('<a />', { href: this.link, html: this.title, target: '_blank' }).appendTo(legend),
				$date = $('<h5 />', { html: this.publishedDate }).appendTo(fieldset),
				$content = $('<div />', { html: this.content }).appendTo(fieldset);
			$content.find('br').remove();
		}
	});
});
fieldset > h5 { float: right; margin-top: 0; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://rawgit.com/JDMcKinstry/jQRSS/master/jQRSS.js"></script>

3
SpYk3HH

Eine Ergänzung zu Tonys Lösung für die Verwendung von YQL - Ich musste den Rückrufwert in JSON_CALLBACK ändern , um die Antwort richtig zu analysieren:

'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20\'' + encodeURIComponent(url) + '\'&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=JSON_CALLBACK'
2
Dave B

Sie können den Script-Feedburner verwenden:

<script src = "http://feeds.feedburner.com/feeduri?format=sigpro&nItems=10" type = "text/javascript"> </ script>

Alle Informationen:

https://support.google.com/feedburner/answer/78991?hl=de

1
jmacuna

Sie können PHP verwenden, um eine Kopie des RSS-Feeds zu erhalten, den Sie anzeigen möchten, und verwenden Sie clientseitiges JavaScript, um die Ergebnisse anzuzeigen. Der Hauptvorteil besteht darin, dass Sie keinen täglichen Anforderungsbeschränkungen unterliegen, die die meisten kostenlosen RSS-API-Dienste aufweisen, oder Zuverlässigkeitsprobleme.

http://www.javascriptkit.com/dhtmltutors/ajaxticker/index.shtml

1
coco puffs