2014-04-06 8 views
6

Ich habe jetzt mit Youtube API v3 gekämpft und ich kann es nicht funktionieren, wie ich will. Mein Ziel ist es, die neuesten Videos einer ausgewählten Playlist in meine Website zu laden. Das Problem ist, dass ich nur die ältesten Videos in meiner Antwort habe.Sortierung Youtube API-Ergebnis von Playlist

die Playlist laden mir folgende API-URI Anfrage: https://www.googleapis.com/youtube/v3/playlistItems

ein Beispiel für eine Anfrage Hier wird (klicken ausführen gerade): http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=id%252Csnippet%252CcontentDetails%252Cstatus&playlistId=PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h=1&

Wie kann das Ergebnis und eine Art die neuesten Videos bekommen zuerst? Ich kann nichts in den Dokumenten finden und ich habe ohne Glück gegoogelt. Es hat keinen Sinn mit dieser API, wenn Sie das Ergebnis nicht sortieren können. Der einzige Weg ist, alle Videos zu laden, indem man die nächste Seite mit Token lädt, aber das ist einfach verrückt.

Irgendeine Idee? Klingt wie ein Grundproblem, aber ich kann keine Lösung finden ...

Antwort

10

Die aktuelle API hat keine Sortieroption zum Auflisten von Playlist-Elementen, aber wenn Sie die Elemente programmgesteuert einfügen, können Sie den Wert position angeben beim Einfügen, um neue Videos erscheinen am Anfang der Liste.

Wenn jemand anderes die Videos hinzufügt, müssen Sie alle Seiten abrufen. Da die Wiedergabelisten auf 200 Elemente beschränkt sind, sind maximal 4 Anfragen erforderlich. Nicht ideal, aber es ist jetzt die einzige Option.

+12

Ok, das ist das, was ich hatte Angst. Ziemlich nutzlose API, wenn Sie mich fragen. – LetsGoRangers

+0

Ist Ihnen gerade aufgefallen, dass die Ergebnisse basierend auf der Playlist-Einstellung geordnet sind? (was man natürlich besitzen muss, um sich zu ändern). –

5

Dies scheint derzeit eine Einschränkung der YouTube API zu sein und scheint von den YouTubern ziemlich kurzsichtig zu sein.

Dies löst nicht Ihr genaues Problem, aber für andere mit einem ähnlichen Problem, habe ich festgestellt, dass mit der 'Suche' Abfrage können Sie in gewissem Umfang bestellen.

Dies half mir, eine Wiedergabeliste (nicht Playlist-Artikel) Abfrage durch Suchen nach Wiedergabelisten, anstatt eine Liste von Wiedergabelisten anfordern. So meine Frage:

https://www.googleapis.com/youtube/v3/playlists?part=snippet&maxResults=20&channelId={channelID}&key={API_KEY} 

wurde:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&safeSearch=none&maxResults=20&channelId={channelID}&key={API_KEY} 

Sie können auch für Videos und Abfragebegriffen und einige andere Parameter suchen, vielleicht können Sie die Ergebnisse erhalten Sie auf diese Weise wollen.

+0

Danke @ paul-thomas-gc. Ich habe den Typ in "Video" geändert und das gibt mir die sortierten Ergebnisse – kitwalker

+0

Ich beobachtete seltene Fälle, in denen die Suche nicht alle Videos zurückgibt. Meine Vermutung ist, dass YouTube bestimmte unangemessene Videos vollständig aus der Suche entfernt, selbst wenn Sie 'safeSearch = none' verwenden. –

0

Sie sowohl die playlistID und channelID in Ihrer Abfrage wie folgt angeben:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&maxResults=20&playlistId={playlistID}&channelId={channelID}&key={API_KEY} 
+0

Es ist nicht genug. Habe es einfach ausprobiert! –