Есть ли способ получить миниатюру списка воспроизведения YouTube, например, как вы можете получить миниатюру видео, объясненную здесь: Как получить миниатюру видео YouTube из YouTube API?
Как получить миниатюру плейлиста YouTube?
Ответы (3)
С помощью API YouTube v3 вы можете получить миниатюру плейлиста, используя их конечную точку v3/playlists
и переходя к items.snippet.thumbnails.high.url
.
Для следующего плейлиста:
https://www.youtube.com/playlist?list=PL50C17441DA8A565D
В обозревателе API YouTube есть конечная точка плейлиста:
https://developers.google.com/youtube/v3/docs/playlists/list
Это вызов API:
GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=PL50C17441DA8A565D&key={YOUR_API_KEY}
И вот ответ:
{
"kind": "youtube#playlistListResponse",
"items": [
{
"kind": "youtube#playlist",
"id": "PL50C17441DA8A565D",
"snippet": {
"title": "Jay Chou Playlist",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/kGbDymJ75PU/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/kGbDymJ75PU/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/kGbDymJ75PU/hqdefault.jpg",
"width": 480,
"height": 360
}
},
"channelTitle": "it23"
}
}
]
}
Это то, что сработало для меня. Подобно другому сообщению об элементах плейлиста, но я просто изменил вызов API. Надеюсь, поможет.
// получить элементы плейлиста
$data = file_get_contents("https://www.googleapis.com/youtube/v3/playlistItems?key=< YOUR API KEY >&part=snippet&playlistId="<Put your playlist id here>");
//декодируем ответ от ютуба
$json = json_decode($data);
// если вы хотите увидеть полный ответ, используйте print_r($json);
//каждый элемент в ответе соответствует видео в списке воспроизведения, поэтому давайте получим первое видео (items[0]), получим его фрагмент и соответствующие эскизы, и мы возьмем URL-адрес для размера по умолчанию. Если вы хотите второе видео, используйте пункты [1] и т. д.
$video_thumbnail = $json->items[0]->snippet->thumbnails->default->url;
//устанавливаем тег alt для видео в качестве описания сниппета
$video_alt = $json->items[0]->snippet->description;
// эхо-адрес изображения в тег изображения
echo '<img src="'. $video_thumbnail .'" alt="'. $video_alt .'" />';
Для этого нет API. Вот обходной путь, о котором я могу думать.
1) Что такое миниатюра плейлиста YouTube? Поиграл с моей учетной записью и, похоже, правило выглядит следующим образом:
if playlist has 5+ videos
thumbnail = first 5 video images
else if playlist has 1+ videos
thumbnail = all video images
else shows this list is empty
2) Затем вы можете использовать тот же способ для получения миниатюр видео.
3) объединить изображения либо на стороне клиента (некоторые CSS), либо на стороне сервера