#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? Вы видите какие-либо ошибки консоли?