google consume javascript jquery ajax api rss

javascript - consume - Cargando RSS feed con AJAX: alternativas a la API de Google Feed?



javascript consume rss feed (5)

He estado usando la API de Google Feed para cargar feeds RSS, pero parece que Google ha cerrado la API. Por ejemplo, cuando intento cargar el feed RSS del New York Times en 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 , obtengo esta respuesta:

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

¿Hay alguna alternativa viable?



Puede usar PHP para tomar una copia de cualquier fuente RSS que desee mostrar, luego use JavaScript del lado del cliente para mostrar los resultados. La principal ventaja es que no está sujeto a los límites de solicitudes diarias de esa manera, que tienen la mayoría de los servicios de API RSS gratuitos, o problemas de confiabilidad.

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


Use la API YQL de Yahoo:

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

Puede solicitar un feed JSONP agregando un parámetro de callback a la url

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


Obsoleto

Mi complemento , $ .jQRSS usa Google Feed y parece funcionar bien, dado su enlace RSS exacto:

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>


Una adición a la solución de Tony para usar YQL: necesitaba cambiar el valor de devolución de llamada a JSON_CALLBACK para analizar correctamente la respuesta:

''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''