更新免费的YouTube视频库以使用Youtube 3.0 API

时间:2015-04-28 03:07:58

标签: youtube youtube-api

Youtube 3.0将取消一些有用的滑块代码,而不是我想让它更新。

首先,我查看了API以及迁移提示和已弃用的功能列表,这很有意义。但是我对这个画廊的编码方式不太熟悉,可以很容易地更新它以便在3.0上快速运行。

所以我想我会在这里问这个问题,看看是否有人能早点完成它以节省一些时间。

我没有编码!这是根据apache许可证分发的,由Simone Gianni制作。它对我和许多其他人都有用,所以我希望它能够更新并继续对每个人都有用。

原文:http://jsfiddle.net/NmvA9/490/

我很确定此时一切正常,除了使用在3.0中弃用的getJSON。

$.getJSON('http://gdata.youtube.com/feeds/users/' + allopts.user + '/uploads?alt=json-in-script&format=5&callback=?', null, function(data) {
            var feed = data.feed;
            var videos = [];
            $.each(feed.entry, function(i, entry) {
                var video = {
                    title: entry.title.$t,
                    id: entry.id.$t.match('[^/]*$'),
                    thumbnails: entry.media$group.media$thumbnail
                };
                videos.push(video);
            });

提前致谢。

编辑:感谢jlmcdonald的帮助。你真的在这方面飙升我。顺便问一下,这是缩略图,还是我想的?一旦解决了缩略图的所有问题,我将留下似乎空白的东西无缘无故地返回。可在此查看:http://jsfiddle.net/ynAtb/10/

不知道为什么,我假设我有效地到了错误的地方。

再次感谢。

1 个答案:

答案 0 :(得分:0)

首先,有几点需要注意:

1)在YouTube API的V3中,任何读取请求都需要一个API密钥,每个开发人员必须在http://console.developers.google.com处自行获取。这将使得,如果您重新分发新代码,它将不会真正即插即用......开发人员必须编辑它以在相关位置包含他们自己的API密钥。

2)您可能需要稍微更改实际实现缩略图的任何代码... V3中的缩略图对象对不同类型的缩略图使用不同的参数名称。

无论如何,话说回答,您可以将上述代码翻译成V3:

    var videos = [];
    $.get('https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername='+allopts.user+'&key=', function(channeldata) {
        $.get('https://www.googleapis.com/youtube/v3/search?order=date&part=id,snippet&channelId='+channeldata.items[0].id+'&key=', function(videodata) {
            $.each(videodata.items, function(k,v) {
              var video = {
                        title: v.snippet.title,
                        id: v.id.videoId,
                        thumbnails: v.snippet.thumbnails
              };
              videos.push(video);
            });
        });
    });