Получение изображений с помощью Google Feed API
Я пытаюсь получить изображения из моей ленты WordPress ( http://dev.emagpress.com/feed) с помощью API каналов Google и, похоже, по какой-то причине не могу этого сделать. Мой текущий код приведен ниже, за исключением любых попыток получить изображения из ленты.
Может кто-нибудь указать мне правильное направление или дать мне код, который может работать?
google.load("feeds", "1");
function initialize() {
var feed = new google.feeds.Feed("http://dev.emagpress.com/feed");
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("stories");
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var title = entry.title;
var pageId = title.toLowerCase().replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()\s]/g,"");
var link = entry.link;
var author = entry.author;
var snippet = entry.contentSnippet;
var date = entry.publishedDate;
var content = entry.content;
console.log(entry);
var storyOutput = '<div class="storyContainer">';
storyOutput += '<a href="#' + pageId + '">' + title + '</a>';
storyOutput += '<p>' + snippet + '</p>';
storyOutput += '</div> <!-- end storyContianer -->';
$('#stories').append(storyOutput);
var pageOutput = '<div class="pageContent" data-role="page" data-theme="b" id="' + pageId + '">';
pageOutput += '<div data-role="header" class="header">';
pageOutput += '<a class="backButton" href="javascript:history.go(-1)" data-transition="slide" data-diraction="reverse" data-icon="back">Back</a>'
pageOutput += '<h1>Stories</h1>';
pageOutput += '</div>';
pageOutput += '<h2 class="storyTitle">' + title + '</h2>';
pageOutput += '<div data-role="content" class="mainText">';
pageOutput += content;
pageOutput += '</div>';
pageOutput += '</div>';
$('#insertAfter').after(pageOutput);
}
}
});
}
google.setOnLoadCallback(initialize);
1 ответ
Вам нужно использовать closure
атрибут для этого. Вы можете использовать следующую структуру, чтобы получить ваш RSS-канал.
function fetchRss(url) {
var jsonFeed = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=15&callback=?&q=';
$.ajax({
url: jsonFeed + url,
dataType: 'jsonp',
jsonpCallback: 'JsonpCallback',
success: jsonProcessFeed,
});
}
function jsonpProcessFeed(data) {
if (data.responseStatus == "200") {
for (var i = 0; i < data.responseData.feed.entries.length; i++) {
item = "<li>" + "<a href='" + data.responseData.feed.entries[i].link + "'>" + data.responseData.feed.entries[i].title + "</a>" + "<img src='"+ data.responseData.feed.entries[i].mediaGroups[0].contents[0].url +"'/></li>"
$('#links').append(item);
}
} else {
alert("An error occurred while fetching rss - " + data.responseDetails);
}
}
$(document).ready(function() {
fetchRss("http://dev.emagpress.com/feed/");
});
Вот рабочая демка: Демо
Вот пример запроса к API: API