Как использовать instafeed.js для захвата видео вместо только фотографий

#javascript #instagram-api #instafeedjs

#javascript #instagram-api #instafeedjs

Вопрос:

Однако в настоящее время я пытаюсь захватывать видео только через учетную запись Instagram пользователя; у меня возникли некоторые проблемы, и в настоящее время я использую Instafeed.js для извлечения данных из instgram. Как я могу извлекать только видео? Нужно ли мне использовать video.js и создать свой собственный видеоплеер?

Вот мой код, который извлекает ТОЛЬКО миниатюры из видео.

  let userFeed = new Instafeed({
     get: 'user',
     userId: 'USER_ID',
     limit: 12,
     resolution: 'standard_resolution',
     clientId: 'CLIENT_ID',
     accessToken: 'ACCESS_TOKEN',
     sortBy: 'most-recent',
     template: '<div class="tile"><div class="text">{{model.user.full_name}}</div><img class="item" src="{{image}}"></div>',
     filter: function (image) {
         return image.type === 'video';
     }
 });
 userFeed.run();
  

Спасибо всем, кто тратит время, помогая мне!

Ответ №1:

Вы можете изменить свой метод фильтрации следующим образом и удалить свойство шаблона:

 filter: function (image) {
    if (image.type === 'video') {
        image.template = '<video width="100%" controls loop><source src="'   image.videos.standard_resolution.url   '" type="video/mp4"/></video>';
        return true;
    }
    return false;
}
  

Комментарии:

1. Спасибо за ответ, это работает довольно хорошо. Тем не менее, это просто делает его кликабельным эскизом, который перенаправляет вас на видео Instragram по URL. Большое спасибо! В конечном итоге я мог бы просто встраивать видео вместо того, чтобы проходить через их очень плохо документированный API. Со всеми недавними изменениями, которые они внесли.

2. У меня не работает. Это даже не переходит к функции фильтрации : (

3. filter: function(image) { if(image.type === "video") { image.template = `<div class="aspect-w-1 aspect-h-1"><video class="rounded-2xl" src="" controls></div>` return true; } else { image.template = `<a href="${image.link}" target="_blank"><img loading="lazy" class="w-full h-full rounded-2xl" src="${image.image}" alt=""></a>` return true; } }

4. @za_ali33 Можете ли вы поделиться jsfiddle? Вы видите какие-либо ошибки консоли?