2011-01-15 17 views
0

Mit jQuery und YouTube API.YouTube VideoID von gdata.youtube.com/feeds/api/videos (YouTube API)

Ich habe eine Zeit lang versucht, die IDs der gesuchten Videos einfach zu bekommen, scheint wie oder entweder ich bin blind oder die Jungs von youtube will, dass wir mehr arbeiten als nötig ;-)

#search = 'mad max'; 

$.ajax({ 
    url: "http://gdata.youtube.com/feeds/api/videos?q=" + escape($("#search").val()) + "&alt=json&max-results=30&format=5", 
    dataType: "jsonp", 
    success: function (data) {showVideoList(data)} 
}); 

function showVideoList(data) { 
    console.log(data); 
} 

Ich bekomme viele Informationen, aber die Videos IDs. Ok, ich kann es bekommen von:

Aber muss regExp verwenden und könnte sich in der Zukunft ändern. Es gibt keine Eigenschaft in diesem Objekt, wo ich nur die videoID bekommen kann?

Antwort

1

Try this:

var id = data.feed.entry[0].id.$t.split('/').reverse()[0]; 
+0

danke Ŝime! es funktioniert genauso wie angenommen. Obwohl ich gehofft hatte, einen saubereren Weg zu finden. – Mynoks

0

Da dies hoch bewertet auf Google es ist erwähnenswert, dass jetzt youtube die videoid kehrt als:

feed.entry[0].media$group.yt$videoid.$t 
+0

Ich sehe es nicht in der JSON ... Vielleicht wurde es entfernt? – tjklemz

1

Um auf Šime Antwort hinzufügen möchten, können Sie ' pop 'anstatt das ganze Array umzukehren:

var id = data.feed.entry[0].id.$t.split('/').pop();