我一直在使用以下方法检索特定YouTube播放列表中包含的所有视频ID,标题和默认缩略图图像,以便在动态播放列表轮播中使用(然后将ID传递给用于动态创建缩略图的数组carousel.注意'playlist'变量是通过外化的XML值定义的):
// Get YouTube Playlist values
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/' + playlist + '?v=2&alt=json&callback=?';
var videoURL = 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data = "";
$.each(data.feed.entry, function(i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var thumb = ""+ videoID +"/sddefault.jpg";
if (videoID !='videos') {
yt_videos.push(videoID);
}
yt_thumb.push(thumb);
yt_title.push(feedTitle);
});
$(list_data).appendTo(".cont");
populateCarousel();
});
Run Code Online (Sandbox Code Playgroud)
YouTube已经对v1-2 API进行了屏蔽,并且该方法的使用时间更长.YouTube API v3是否提供了等效的方法?具体取代电话:
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/' + playlist + '?v=2&alt=json&callback=?';
Run Code Online (Sandbox Code Playgroud)