2014-04-17 164 views
0

我試圖使用Google feeds API從我的WordPress feed(http://dev.emagpress.com/feed)中獲取圖片,並且由於某種原因似乎無法完成此操作。我目前的代碼如下,減去我從Feed獲取圖片時所做的任何嘗試。使用Google Feed API獲取圖片

任何人都可以指向正確的方向或給我一些可能工作的代碼嗎?

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); 
+0

那麼結果是什麼?任何錯誤? –

+0

我現在的代碼工作得很好,我只想知道如何從我的Feed中提取圖片。我正在記錄由Google Feed請求返回的對象,但無法從任何位置的Feed中找到我的圖片標記 –

回答

0

您需要使用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/"); 
}); 

這裏是一個工作演示:Demo

這裏是一個樣本請求API:API