Как получить миниатюру плейлиста YouTube?

Есть ли способ получить миниатюру списка воспроизведения YouTube, например, как вы можете получить миниатюру видео, объясненную здесь: Как получить миниатюру видео YouTube из YouTube API?


person varchar1    schedule 17.05.2012    source источник


Ответы (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"
       }
      }
     ]
    }
person Robert Chen    schedule 23.07.2015

Это то, что сработало для меня. Подобно другому сообщению об элементах плейлиста, но я просто изменил вызов 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 .'" />';
person willeisbrenner    schedule 17.11.2015

Для этого нет 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), либо на стороне сервера

person wanghq    schedule 30.05.2012
comment
хорошо, я это понимаю, но, скажем, у меня есть идентификатор плейлиста, как мне получить идентификатор первого видео, чтобы я мог вытащить миниатюру 1-го видео? Я просто хочу показать соответствующую миниатюру, и для меня не имеет значения, третья она или первая. - person varchar1; 30.05.2012
comment
Ниже API возвращает видео для данного плейлиста (2C441924AEB5811E): gdata.youtube.com/feeds /api/playlists/2C441924AEB5811E. Вы можете получить миниатюру видео из любой записи. - person wanghq; 31.05.2012