2015-08-18 13 views
8

So versuche ich 10 neueste Videos von User-Uploads zu greifen.Youtube API 3 neueste Videos

nun das einzige Problem ist, dass das einzige Datum sichtbar in den playlistitems Anfrage ist publishedAt, die das Datum ist, wenn das Video hochgeladen wurde - nicht das Datum, wann es öffentlich gemacht wurde, die einen großen Unterschied macht .

Ich habe festgestellt, dass ich das richtige Datum über die Video Anfrage abrufen kann, aber es scheint einfach nicht der beste Ort, um es zu tun.

Lassen Sie mich Ihnen ein Beispiel zeigen, mit dem ich es zu tun habe.

Nehmen wir den Maroon5-Kanal.

forUserName: Maroon5VEVO

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=Maroon5VEVO&key= {YOUR_API_KEY}

https://developers.google.com/youtube/v3/docs/channels/list#try-it

Hier ist, wo wir das packen:

uploadsId: UUN1hnUccO4FD5WfM7ithXaw

So können wir fragen:

GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUN1hnUccO4FD5WfM7ithXaw&maxResults=50&key= {YOUR_API_KEY}

https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it

und dann können wir einen Blick auf einige Videos.

Lassen Sie uns die neueste greifen. Für mich ist es diese:

"title": "Maroon 5 - In diesem Sommer wird verletzen wie ein ... (Explicit)", "videoId": "Wa64gOwuIyE"

Und vor allem:

"publishedAt": "2015-06-01T17: 41: 58.000Z",

lassen Sie uns jetzt mehr Details dieses Video packen, indem Sie diese Abfrage:

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&id=Wa64gOwuIyE&key= {YOUR_API_KEY }

https://developers.google.com/youtube/v3/docs/videos/list#try-it

Hier erhalten wir detailliertere Ansicht mit einem Datum, das ... anders!

"publishedAt": "2015-06-01T20: 00: 01.000Z",

Das bedeutet, dass das publishedAt Datum in Wiedergabelisten tatsächlich das Datum des Uploads ist - nicht, wenn das Video wurde veröffentlicht .

In unserer Liste der 10 neuesten Artikel wollen wir die neuesten veröffentlichten Videos, und nicht zuletzt hochgeladene Videos.

Wenn Sie wissen, wie Sie es angehen, bitte teilen.

Hier ist mein Schnipsel jetzt (Arbeit mit einem falschen Datum publishedAt)

$.get(
     "https://www.googleapis.com/youtube/v3/playlistItems",{ 
     part : 'snippet', 
     maxResults : 10, 
     playlistId : UPLOADS_PID, 
     key: YOUR_API_KEY}, 
     function(data) { 

      $.each(data.items, function(i, item) {     

       (...) 

      }); 
     } 
    ); 
+0

Was ist Ihr Anwendungsfall? Das 'publishedAt'-Datum für playlistItems sollte sein, wenn das Video zur Wiedergabeliste hinzugefügt wurde, also auch wenn das Video hochgeladen wurde. Aber ich bezweifle, dass die Videos so weit im Voraus hochgeladen werden, bevor sie veröffentlicht werden, dass es eine große Sache machen wird. Im schlimmsten Fall könntest du die letzten 15-20 Videos bekommen, videos.list verwenden und den "publishedAt" -Wert für jeden bekommen, dann sortiere es so. –

+0

Leider habe ich es in meinem Fall mit einem Kanal zu tun, auf dem es viele private Videos gibt, die intern überprüft und dann veröffentlicht werden (leider ist es in der gleichen Playlist). So haben wir zum Beispiel ein Video, das vor 5 Monaten hochgeladen wurde, aber jetzt veröffentlicht wurde - also kannst du dir vorstellen, dass es mit der playlistItem-Anfrage nicht annähernd den ersten 10 Ergebnissen entspricht. Die videos.list wird funktionieren, aber das Problem ist, dass es mit 1000 hochgeladenen Videos einfach nicht die originelle Art ist, dies zu tun, da du 1000 ids an das queryParam übergeben musst und dann das Ganze nach Datum sortieren musst. – Proqb

Antwort

15

Ich glaube, Sie/Suche Endpunkt verwenden können. Wenn Sie die letzten 10 Videos von Nutzer-Uploads abrufen möchten, können Sie die Kanal-ID anstelle der Playlist-ID verwenden.

Anfrage:

GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&maxResults=10&order=date&type=video&key={YOUR_API_KEY} 
+0

Perfekt. Genau das habe ich gesucht. Kudos. – Proqb

+0

Ich habe ein Problem mit der Videoliste. Irgendeine Idee?? http://stackoverflow.com/questions/43950504/youtube-get-uploaded-video-list-filenotfound-error – Krishnakant

Verwandte Themen