在网站上嵌入最新的YouTube视频?

时间:2015-03-08 19:44:32

标签: javascript html youtube

我目前正在学习网络开发,而且我是YouTube上相当大的人的朋友,所以我提议免费为他创建一个网站,以便在我学习的同时建立我的投资组合。我希望能够嵌入他最近的8个视频,但我不知道该怎么做。

我在SO上找到了以下代码,但它适用于YouTube Data API V2,因此不再有效。我似乎无法通过API v3找到类似的方法。欢呼声,

奥利。

<!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>

2 个答案:

答案 0 :(得分:1)

如果进行一些调整,您的代码可以正常工作。

首先,要获取最后8个视频,您需要将该号码作为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);
        }
    }
}

答案 1 :(得分:0)

这将嵌入您的&#34;上传&#34;播放列表。如果您想要播放最近的视频,只需转到您的频道并按最近的顺序对上传内容进行排序。这是代码:

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

UUB8OUG89o0QWqmJ2lfzdyIg是我个人上传播放列表的唯一ID。要获取播放列表的唯一ID,请使用您的唯一渠道ID,然后将C更改为U

UCB8OUG89o0QWqmJ2lfzdyIg // channel id
UUB8OUG89o0QWqmJ2lfzdyIg // uploads playlist id

所有Youtube播放列表都有ID,您只需找到它们即可。您也可以通过使用&#34;全部播放&#34;播放完整的播放列表来查找播放列表ID。按钮。这将在Youtube上播放整个播放列表,您可以将ID复制到页面网址。