有没有办法自动将视频从YouTube上传到我的网站,这样当特定的YouTuber将视频上传到他的频道时,它也会上传到我的网站,并保留较旧的视频? 我确实拥有YouTuber的适当权利,可以将他的视频上传到我的网站。
但是,我确实找到了一个可以做到这一点的JavaScript,但它删除了旧的,所以你基本上只有1个视频。
以下是我发现的JavaScript:
<html>
<head>
<link rel="STYLESHEET" href="menu.css" type="text/css">
<link rel="shortcut icon" href="Pictures/favicon.ico">
<title>SITE NAME</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/YOUTUBER/uploads?max-results=1&orderby=published&v=2&alt=jsonc&callback=showVideo"></script>
</body>
</html>
答案 0 :(得分:1)
您应该查看API:https://developers.google.com/youtube/v3/code_samples/
您发布的代码仅提取当前视频的数据并将其显示在页面上。它按预期工作。
修改强>
我做了一些关于Google API的阅读,我发现他们有一个完美的例子向您展示如何使用jQuery处理数据。这是代码,我必须修改的是用户从中获取视频。如果您创建一个希望用户使用其频道的应用,您可以使用API并获得所需的密钥,否则您可以使用下面的脚本,它将为其余部分加载一个视频和缩略图,它将让用户点击拇指并加载您网站上的视频:
<html>
<head>
<title>My Videos</title>
<style>
.titlec {
font-size: small;
}
ul.videos li {
float: left;
width: 10em;
margin-bottom: 1em;
}
ul.videos
{
margin-bottom: 1em;
padding-left : 0em;
margin-left: 0em;
list-style: none;
}
</style>
<script type="text/javascript" src="http://swfobject.googlecode.com/svn/trunk/swfobject/swfobject.js"></script>
<script type="text/javascript">
function loadVideo(playerUrl, autoplay) {
swfobject.embedSWF(
playerUrl + '&rel=1&border=0&fs=1&autoplay=' +
(autoplay?1:0), 'player', '290', '250', '9.0.0', false,
false, {allowfullscreen: 'true'});
}
function showMyVideos2(data) {
var feed = data.feed;
var entries = feed.entry || [];
var html = ['<ul class="videos">'];
for (var i = 0; i < entries.length; i++) {
var entry = entries[i];
var title = entry.title.$t.substr(0, 20);
var thumbnailUrl = entries[i].media$group.media$thumbnail[0].url;
var playerUrl = entries[i].media$group.media$content[0].url;
html.push('<li onclick="loadVideo(\'', playerUrl, '\', true)">',
'<span class="titlec">', title, '...</span><br /><img src="',
thumbnailUrl, '" width="130" height="97"/>', '</span></li>');
}
html.push('</ul><br style="clear: left;"/>');
document.getElementById('videos2').innerHTML = html.join('');
if (entries.length > 0) {
loadVideo(entries[0].media$group.media$content[0].url, false);
}
}
</script>
</head>
<body>
<div id="playerContainer" style="width: 20em; height: 180px; float: left;">
<object id="player"></object>
</div>
<div id="videos2"></div>
<script
type="text/javascript"
src="http://gdata.youtube.com/feeds/users/YOUTUBER/uploads?alt=json-in-script&callback=showMyVideos2&max-results=30">
</script>
</body>
</html>
答案 1 :(得分:1)
或者,您可以嵌入用户上传的视频播放列表:
<iframe width="420" height="315" src="http://www.youtube.com/embed?listType=user_uploads&list=username" frameborder="0" allowfullscreen></iframe>
(更改用户名)