#javascript #youtube-api
#javascript #youtube-api
Вопрос:
На канале YouTube, с которого я загружаю видео, есть раздел под названием «Популярные загрузки», похоже, это раздел, который автоматически создается youtube. Мне интересно, есть ли у кого-нибудь опыт извлечения видео из этого раздела? Я использую версию 3.0 (которая может быть единственной версией, поддерживающей разделы).
Вот пример объекта section с удаленными идентификаторами
Object {kind: "youtube#channelSection", etag: ""etag"", id: "channel.section", snippet: Object}
etag: ""etag""
id: "channel.section"
kind: "youtube#channelSection"
snippet: Object
channelId: "channel"
position: 2
style: "verticalList"
type: "popularUploads"
В документации есть примеры извлечения наиболее популярных видеороликов, но, похоже, это только для всего сайта, а не для конкретного канала.
Спасибо.
Комментарии:
1. Пара вопросов — итак, у вас что-то не работает? Из вашего поста непонятно. Вам интересно, как вы можете получить только эти видео? Во-вторых, не могли бы вы предоставить идентификатор канала, у которого есть такой вопрос? Это поможет в отладке.
2. Да, я просто хотел бы получить видео в нижней части канала, youtube.com/user/aintvonline/featured
Ответ №1:
Когда дело доходит до разделов канала, большинство из них определяются владельцем канала, и, таким образом, вызов конечной точки channelSections может получить идентификаторы списков воспроизведения в contentDetails каждого раздела. Однако, как вы уже догадались, «популярные загрузки» — это раздел, который возвращается API, но с которым не связан собственный идентификатор плейлиста. Это потому, что он динамически генерируется при каждом запросе (или, что более вероятно, кэшируется и обновляется время от времени), используя информацию, которую сам API получает о количестве просмотров для видео канала в целом.
К счастью, вы можете воссоздать (с довольно полной точностью, насколько я могу судить) точный вызов, который секция popularUploads выполняет за кулисами, и самостоятельно получить эти видео для канала. Если вы уже знаете идентификатор канала (на что вы, похоже, намекаете), тогда нажмите конечную точку
https://www.googleapis.com/youtube/v3/search?part=snippetamp;channelId={CHANNEL_ID}amp;order=viewCountamp;key={YOUR_API_KEY}
(или в выбранном вами клиенте используйте метод search-> list, передав параметр channelId и параметр order, установленный для viewCount).
Другими словами, этот раздел канала просто выполняет поиск по каналам и упорядочивает их по количеству просмотров. Я тестировал с несколькими каналами, и результаты поиска через API соответствуют тому, что показывает пользовательский интерфейс канала.