Kullanıcı yüklemelerinden 10 yeni videoyu yakalamaya çalışıyorum.Youtube API 3 En son videoları alın
Şimdi tek sorun olduğunu istek video yüklendiği tarih olan publishedAtolduğunu playlistitems görünür tek tarih - değil kamu yapıldığı tarihi, büyük bir fark yaratıyor .
video isteği aracılığıyla doğru tarihi yakalayabildiğimi fark ettim, ancak bunu yapmak için en iyi yer görünmüyor.
Size neyle uğraştığımın bir örneğini göstereyim.
Maroon5 kanalını kullanalım.
forUserName: Maroon5VEVO
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=Maroon5VEVO&key= {YOUR_API_KEY} biz kapmak nereye
https://developers.google.com/youtube/v3/docs/channels/list#try-it İşte
geçerli:
uploadsId: UUN1hnUccO4FD5WfM7ithXaw
https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUN1hnUccO4FD5WfM7ithXaw&maxResults=50&key= {YOUR_API_KEY} GET ve sonra biz bazı videolarına bakabilirsiniz:Bu yüzden sorgulayabilir.
En yenisini ele geçirelim.
"title": "Maroon 5 - Bu Summer'ın Gonna gibi A Hurt ... (Açık)", "VideoId": Benim için bu biridir "Wa64gOwuIyE"
Ve en önemlisi:
"publishedAt": "2015-06-01T17: 41: 58.000Z",
Şimdien, bu sorguyu çalıştırarak bu videonun daha fazla ayrıntı kapmak bakalım:
https://www.googleapis.com/youtube/v3/videos?part=snippet&id=Wa64gOwuIyE&key= {YOUR_API_KEY GET İşte}
https://developers.google.com/youtube/v3/docs/videos/list#try-it
biz ... farklı bir tarihle daha ayrıntılı bir görünüm olsun!
"publishedAt": "2015-06-01T20: 00: 01.000Z",
oynatma listelerinde publishedAt tarih yükleme tarihi aslında demektir - Video kamu yapıldığı zaman değil .
En son 10 öğeden oluşan listemizde, LATEST tarafından yayınlanan en son yayınlanan videoları değil, en son yayınlanan videoları istiyoruz.
Bir yaklaşıma nasıl yaklaşacağınızı biliyorsanız, lütfen paylaşın.
İşte sana/arama bitiş noktası kullanabilirsiniz inanıyoruz şimdi
$.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) {
(...)
});
}
);
Kullanım durumunuz nedir? PlaylistItems için yayınlanmışAt tarihi, video oynatma listesine eklendiğinde, video yüklendiğinde de doğru olur. Ancak, videoların çok büyük bir anlaşma yapacağına dair yayınlanmadan önce şimdiye kadar yükleneceğinden şüpheliyim. En kötü durum, son 15-20 videolarını alabilir, videos.list kullanabilir ve her biri için "broadcastAt" değerini alabilir, sonra bu şekilde sıralayabilirsiniz. –
Maalesef kullanım durumumda, dahili olarak incelenen ve daha sonra kamuya açık hale getirilen birçok özel videonun bulunduğu bir kanalla uğraşıyoruz (maalesef aynı çalma listesinde yer alıyor). Örneğin, 5 ay önce yüklenen, ancak şu anda herkese açık hale getirilmiş bir videomız var. Bu nedenle, playlistItem isteği ile ilk 10 sonucun yakınında olmadığını hayal edebilirsiniz. Videos.list işleyecektir, fakat sorun şu ki, 1000 video yüklendiğinde bunu yapmanın en iyi yolu değil, çünkü 1000 ID'leri queryParam'a aktarmanız ve ardından tüm şeyi tarihe göre sıralamanız gerekecek. – Proqb