Ich versuche ein kleines JavaScript-Programm zu erstellen, um die YouTube API für eine bestimmte Playlist abzurufen, geordnet nach Dauer. Alles funktioniert perfekt, aber die Reihenfolge ist nicht die ganze Playlist, nur die 25 neuesten Videos! Hier ist ein Minimum komplette Arbeits example as a JSFiddle und hier ist der JavaScript Teil davon:YouTube-API 'orderby = duration' nicht die gesamte Playlist, nur die neuesten Videos
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);
});
}
);
Ich habe versucht, dies in XML und JSON und ich habe versucht, auch andere Arten von Suchanfragen neben der Playlist-Suche. Die API zu sortieren, nur die neuesten Videos des Ergebnisses scheint ziemlich sinnlos. Wie genau kann ich die längsten oder kürzesten Videos einer Wiedergabeliste abrufen, oder die von einem bestimmten Benutzer für diese Angelegenheit hochgeladen?
Man sollte meinen, die Ergebnisse Server-Seite Sortierung würde zu einem Dutzend oder mehr einzelne Abfragen eine Gesamt billiger Betrieb als Antwort, ohne etwas zu Sortierung ... Definitiv nicht ideal, wie Sie gesagt haben. – ZeroOne
@ZeroOne, stimme ich zu. Ich verstehe wirklich nicht die Logik, warum sie es so ausführen lassen würden. – JSuar
Dieser Link könnte ein wenig mehr Licht in das Thema bringen. http://apiblog.youtube.com/2012/03/keeping-things-fresh.html – JSuar