【问题标题】:"Automatic YouTube videos to site uploader"“自动 YouTube 视频到网站上传器”
【发布时间】:2014-04-28 20:06:49
【问题描述】:

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

【问题讨论】:

    标签: javascript html video youtube


    【解决方案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>
    

    【讨论】:

    • 因此,如果我从他们的网站上正确阅读,它会在新视频上传到 YouTube 时将 YouTube 视频上传到我的网站?
    • 没错,最好的部分来自源代码,并且是正确使用 API。
    • 啊啊,好的,我去看看,试试看。如果有效,我会回来的。 :)
    • 其他人也可以观看视频吗?有什么教程适合我吗?
    • 是的,其他人也可以观看该视频,如果您查看页面左侧,您会看到带有示例的不同语言,它非常简单。 (:
    【解决方案2】:

    或者,您可以嵌入用户上传的视频播放列表:

    <iframe width="420" height="315" src="http://www.youtube.com/embed?listType=user_uploads&list=username" frameborder="0" allowfullscreen></iframe>
    

    (更改用户名)

    【讨论】:

    • 我要嵌入的 YouTuber 还没有播放列表。 :(而且我已经有了答案。不过,谢谢你的帮助。:)
    • 真的吗?我的印象是它只是从用户最近的视频中自动生成。
    • 它会上传最新的视频并将上传的视频替换在新视频之前..
    猜你喜欢
    • 1970-01-01
    • 2014-05-09
    • 2011-05-10
    • 2015-09-20
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    相关资源
    最近更新 更多