YouTube APIを指定してプレイリストを照会するためのJavaScriptプログラムを作成しました。すべてが他の点では完全に機能しますが、オーダーでは再生リスト全体が考慮されません。その上に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