video - 如何在 youtube api v3 的播放列表中动态加载最新的 youtube 视频?

标签 video dynamic youtube youtube-api

我们曾经(在 2015 年 4 月 20 日 Youtube 代码转换之前)使用这个:

然而,这不再有效,我们得到一个通用视频,而不是告诉我们去这里:https://support.google.com/youtube/answer/6098135?p=yt_devicesupport&hl=en&rd=1

    <div id="player"></div>

<script>
    function showVideo(response) {
        if(response.data && response.data.items) {
            var items = response.data.items;
            if(items.length>0) {
                var item = items[0];
                var videoid = "https://www.youtube.com/embed/"+item.id;
                console.log("Latest ID: '"+videoid+"'");
                var video = "<iframe width='200' height='200' src='"+videoid+"' frameborder='0' allowfullscreen></iframe>"; 
                $('#player').html(video);
            }
        }
    }
</script>
    <script src="https://gdata.youtube.com/feeds/api/users/AllCoveredInc/uploads?max-results=1&orderby=published&v=2&alt=jsonc&callback=showVideo"></script>

请指教。谢谢。

最佳答案

如果您要从中获取视频的“播放列表”只是用户上传的内容,那么只要您有用户的 channel ID,您就可以在 V3 中获取相同的信息。如果您没有 channel ID,您可以通过以下方式获取:

https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername= {用户名}&key={YOUR_API_KEY}

(别忘了在 console.developers.google.com 上注册一个 api key !)

获得 channel ID 后,您可以使用搜索端点获取用户最新上传的视频,如下所示:

https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId= {此处为 channel ID}&maxResults=1&key={YOUR_API_KEY}

请注意,这是 JSON,而不是 JSON-P,因此它不会自动执行您的回调;您需要使用 Google API javascript 客户端或标准 ajax 库来进行调用,当数据返回时,您可以手动将其传递给 showvideo() 方法进行处理。

如果您想从不同类型的播放列表中获取视频(即不是用户上传的,可能是手工制作的播放列表),您的调用将如下所示:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLid2PnAnKqQEETT-Ppjj5y_PgpcQ8qGaQ&key= {YOUR_API_KEY}

其中以 PL 开头的长字符串是播放列表 ID。请注意,生成的 json 格式略有不同,但仍包含视频 ID。

关于video - 如何在 youtube api v3 的播放列表中动态加载最新的 youtube 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773278/

相关文章:

java - 如何在java中查找视频文件的mime类型

java - 使用 Groovy 修复在 Web 容器内运行的代码

opengl - 使用多个像素缓冲区对象更新视频纹理时卡顿

android - 使用动态内容刷新 Activity

java - Java中的可变长度(动态)数组

youtube - 解码 YouTube 的错误 500 页面

android - 想要播放YouTube视频,并将代码嵌入到webview中,并且在同一webview中显示html内容

javascript - 从一个请求中通过 id 获取多个 youtube 视频的信息?

video - 在 mkv 或 mp4 上使用 Hardsub?

html - 是否可以使用 HTML5 显示 MPEG 传输流视频?