2015-03-08 2 views
1

В настоящее время я изучаю веб-разработку, и я дружу с человеком, который довольно большой на YouTube, поэтому я предложил создать его бесплатно для создания моего портфолио, пока я учусь. Я ищу, чтобы иметь возможность вставлять его 8 последних видеороликов и не знаю, как это сделать.Последние обновления YouTube на сайте?

Я нашел код ниже, но это для API данных YouTube V2, так что больше не работает. Кажется, я не могу найти аналогичный способ сделать это с API v3. Cheers,

Oli.

<!DOCTYPE html> 
<html> 
<head> 
    <title>YouTube Recent Upload Thing</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
</head> 
<body> 
<div id="static_video"></div> 
    <script type="text/javascript"> 
     function showVideo(response) { 
      if(response.data && response.data.items) { 
       var items = response.data.items; 
       if(items.length>0) { 
        var item = items[0]; 
        var videoid = "http://www.youtube.com/embed/"+item.id; 
        console.log("Latest ID: '"+videoid+"'"); 
        var video = "<iframe width='420' height='315' src='"+videoid+"' frameborder='0' allowfullscreen></iframe>"; 
        $('#static_video').html(video); 
       } 
      } 
     } 
    </script> 
    <script type="text/javascript" src="https://gdata.youtube.com/feeds/api/users/urusernamehere/uploads?max-results=1&orderby=published&v=2&alt=jsonc&callback=showVideo"></script> 
</body> 
</html> 

ответ

1

Ваш код отлично работает, если вы внесли некоторые изменения.

Во-первых, чтобы получить последние 8 видео, вам необходимо включить этот номер в вашем поле «URL запроса», как max-results:

                here 
                    ▼ 
https://gdata.youtube.com/feeds/api/users/VEVO/uploads?max-results=8&orderby=published&v=2&alt=jsonc&callback=showVideo 

Затем, чтобы показать все видео, вместо if заявления, вам нужно иметь петлю (for петли здесь), и .append() каждое видео вместо замены всего содержания каждый раз .html():

function showVideo(response) { 
    if(response.data && response.data.items) { 
     var items = response.data.items; 
     // the loop i'm talking about 
     for(var i=0, l=items.length; i<l; i++){ 
      var item = items[i]; 
      var videoid = "http://www.youtube.com/embed/"+item.id; 
      console.log("Latest ID: '"+videoid+"'"); 
      var video = "<iframe width='420' height='315' src='"+videoid+"' frameborder='0' allowfullscreen></iframe>"; 
      // here, add the video to the container 
      $('#static_video').append(video); 
     } 
    } 
} 
+0

Спасибо. Я пытаюсь добавить каждое видео в отдельные div с идентификаторами '# static_video_0', '# static_video_1' и т. Д. Я добавил 'var div = '#static_video_' + item;' и изменил идентификатор на '$ (делить) '. Это единственный способ, которым я мог подумать, но это не сработает. Есть ли другой способ? – Perceptic

+0

Извините, я был глуп. Должно быть '' #static_video_ '+ i; '. – Perceptic

+1

@Perceptic Вы получили это :) ** Редактирование **: Если у вас есть отдельные контейнеры, вы можете придерживаться '.html()', так как вы не будете переписывать какой-либо существующий iframe. Но '.append()' тоже будет работать отлично. – blex

0

Это вставлять «Добавленные» список воспроизведения. Если вы хотите, чтобы ваше самое последнее видео было воспроизведено, просто зайдите на свой канал и отсортируйте свои заказы совсем недавно. Вот код:

<iframe src="https://www.youtube.com/embed/videoseries?list=UUB8OUG89o0QWqmJ2lfzdyIg" seamless allowfullscreen></iframe> 

UUB8OUG89o0QWqmJ2lfzdyIg является уникальным идентификатором моего личного списка воспроизведения загрузок. Чтобы получить уникальный идентификатор вашего плейлиста, возьмите свой уникальный идентификатор канала и просто измените C на U.

UCB8OUG89o0QWqmJ2lfzdyIg // channel id 
UUB8OUG89o0QWqmJ2lfzdyIg // uploads playlist id 

Все плейлисты Youtube имеют идентификаторы, вам просто нужно их найти. Вы также можете найти идентификатор списка воспроизведения, сыграв полный список воспроизведения с помощью кнопки «Воспроизвести все». Это будет воспроизводить весь список воспроизведения на Youtube, и вы можете скопировать идентификатор из URL-адреса страницы.

Смежные вопросы