我目前正在学习网络开发,而且我是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>
答案 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复制到页面网址。