“将YouTube视频自动上传到网站上传者”

时间:2014-04-28 20:06:49

标签: javascript html5 video youtube

有没有办法自动将视频从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>

2 个答案:

答案 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>

(更改用户名)