Как загрузить изображения из RSS-канала с помощью Google Feed API?

Я не могу загрузить изображения с помощью Google Feed API, я использую mediaGroup для загрузки изображений.

Это код javascript, который я написал для получения канала

<script type="text/javascript">

google.load("feeds", "1");
function initialize() 
   {
    var feed = new google.feeds.Feed("http://techzei.com/feed");
    feed.setNumEntries(14);
    feed.load(function (result) {
        if (!result.error) 
        {
            result.feed.entries.forEach(function(entry)
            {
              $('#feed').append('<div class="card"><a href="' + entry.link + '">' + entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>'+entry.publishedDate+'"<img src="'+ entry.mediaGroups+'"/></div>');
            });
        }
    });
}
google.setOnLoadCallback(initialize);

HTML

<article id="feed"></article>

Все изображения, которые я получаю сейчас, являются "неопределенными". Должен ли я делать что-то еще? Dev API Google Feed не пролил свет на это

1 ответ

Решение

Этот канал, кажется, не имеет никакого mediaGroup записей, по этой причине вы получаете неопределенный в вашем результате, но вы можете извлечь изображения из entry.content используя jQuery.

Помещает URL изображения в массив и показывает первое найденное изображение (или ни одного):

var content = document.createElement("content");
content.innerHTML = entry.content;                   
var images = $(content).find('img').map(function(){
    return $(this).attr('src')
}).get();
$('#feed').append('<div class="card"><a href="' + entry.link + '">' +
    entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>'+ 
    entry.publishedDate +'</p>' + 
    (images.length == 0 ? '' :'<img src="'+ images[0] +'"/>') + '</div>');

Показывает все изображения, добавляя теги img к переменной:

var content = document.createElement("content");
content.innerHTML = entry.content;
var images = "";
$(content).find('img').each(function() {  
    images += this.outerHTML;
}); 
$('#feed').append('<div class="card"><a href="' + entry.link + '">' +
    entry.title + '</a><p>' + entry.contentSnippet + '</p><br><p>' +
    entry.publishedDate + '</p>' + images +'</div>');
Другие вопросы по тегам