我正在尝试构建一个JavaScript程序来查询给定播放列表的YouTube API,按期限排序。一切正常,否则完美,但排序不占整个播放列表,只有25个最新的视频!这里的工作example as a JSFiddle最小的完整和这里是它的JavaScript部分:YouTube API'orderby = duration'不处理整个播放列表,只是最新的视频
var playlistId = "UUAuUUnT6oDeKwE6v1NGQxug";
jQuery.getJSON(
"https://gdata.youtube.com/feeds/api/playlists/"+playlistId+"?v=2&orderby=duration&alt=json",
function(data) {
$.each(data.feed.entry, function(key, val) {
var title = val.title.$t;
var url = val.content.src;
var duration = val.media$group.yt$duration.seconds;
var minutes = Math.floor(duration/60);
var seconds = (duration % 60);
if(seconds < 10) seconds = "0"+seconds;
var newRow = $("<tr></tr>");
newRow.append("<td><a href='"+url+"'>"+title+"</a></td>");
newRow.append("<td class='dur'>"+minutes+":"+seconds+"</td>");
$("#videos").append(newRow);
});
}
);
我已经在这两个XML尝试这样做,JSON,我也试过其他类型的搜索,除了播放列表搜索。让API排序结果的最新视频看起来毫无意义。 我究竟如何检索播放列表的最长或最短视频,或者由某个给定用户上传的那些视频?
你会认为在对结果排序服务器端会比回答十几个或更多个人查询,而无需任何排序的整体操作比较便宜......绝对不是理想的,像你说的。 – ZeroOne
@ZeroOne,我同意。我真的不明白为什么他们会这样执行它的逻辑。 – JSuar
这个链接可能会在这个话题上多一点点亮。 http://apiblog.youtube.com/2012/03/keeping-things-fresh.html – JSuar