programing

AJAX로 RSS 피드 로드하기: Google 피드 API의 대안?

css3 2023. 9. 12. 20:10

AJAX로 RSS 피드 로드하기: Google 피드 API의 대안?

구글 피드 API를 사용하여 RSS 피드를 로드하고 있는데 구글에서 API를 종료한 것 같습니다.예를 들어, 뉴욕 타임즈 RSS 피드를 로드하려고 할 때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, 다음과 같은 답변이 있습니다.

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

실행 가능한 대안이 있습니까?

야후의 YQL API 사용:

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

JSONP 피드를 요청할 수 있습니다.callbackurl에 대한 매개 변수

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

감가 상각됨

플러그인 $.jQRSS는 사용하며, 당신의 정확한 RSS 링크를 고려할 때, 잘 작동하는 것 같습니다.

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>

스크립트 피드버너를 사용할 수 있습니다.

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

모든 정보:

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

Tony가 YQL을 사용하는 솔루션에 추가한 한 가지 - 응답을 제대로 구문 분석하기 위해 콜백 값을 JSON_CALLBACK으로 변경해야 했습니다.

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

PHP를 사용하여 표시하고자 하는 RSS 피드의 복사본을 잡은 다음 클라이언트 측 자바스크립트를 사용하여 결과를 표시할 수 있습니다.가장 큰 장점은 대부분의 무료 RSS API 서비스가 가지고 있는 일일 요청 제한이나 신뢰성 문제에 영향을 받지 않는다는 것입니다.

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

언급URL : https://stackoverflow.com/questions/34049813/loading-rss-feed-with-ajax-alternatives-to-google-feed-api