Получение изображений с помощью 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

Другие вопросы по тегам