Jak uzyskać listę przesłanych filmów dla określonego kanału za pomocą nowego interfejsu API danych YouTube (V3)?

Próbuję uzyskać listę identyfikatorów wideo dla wszystkich przesłanych filmów na kanał. Chciałbym również skorzystać z nowej wersji YouTube Data API (V3). Jak to zrobić?

Author: codingjeremy, 2012-11-22

2 answers

Musisz uzyskać identyfikator uploadu listy odtwarzania, aby przesłać każdy film. Aby to uzyskać, musisz uzyskać identyfikator kanału. Po uzyskaniu identyfikatora listy odtwarzania z identyfikatora kanału jest to dość proste. Napisałem kroki dla wszystkich trzech poniżej.

Ponadto, oferujemy PubSubHubBub, który pozwala być powiadamiany za każdym razem, gdy nowy film jest dodawany do kanału, lub można użyć SUP (V2), aby zobaczyć, które zasoby zostały zmienione przed wykonaniem połączeń.

Instrukcje pobierania identyfikatorów wideo dla wszystkich przesłanych filmów dla kanału w V3

  1. Pobierz identyfikator kanału dla kanału, który chcesz (prawdopodobnie musisz to zrobić tylko raz, wtedy możesz go zapisać)

    • użyj Szukaj.lista
    • Ustaw Typ na kanał
    • Ustaw q na nazwę kanału, który chcesz
    • chwyć channel id (coś takiego: "channelId": "Uc0x2vuxxxxxxxxxxxxxxxxxx")
  2. Pobierz identyfikator listy odtwarzania dla przesłanych kanałów za pomocą identyfikatora kanału z kroku 1 (prawdopodobnie musisz to zrobić tylko raz, wtedy możesz go zapisać)

    • użyj kanałów.lista
    • Ustaw id na Uc0x2vuxxxxxxxxxxxxx z kroku 1
    • chwyć klucz uploads z contentDetails (coś takiego: "uploads": "UU0XXXXXXXXXXXXXXXXXXXXX")
  3. Get the filmy za pośrednictwem playlistitems na liście odtwarzania za pomocą playlist id z kroku 2

    • użyj listy odtwarzania.lista
    • Ustaw playlistId na UU0XXXXXXXXXXXXXXX z kroku 2
    • przejrzyj każdy PlaylistItem i wyciągnij identyfikator wideo
 68
Author: codingjeremy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-01 12:51:25

W międzyczasie, jest o wiele łatwiejszy sposób:

  • Użyj kanałów.lista
  • set forUsername = [CHANNELNAME]
  • set part = contentDetails

grab $data->items[0]->contentDetails->relatedPlaylists->uploads --> [PLAYLISTID]

  • Użyj playlistItems.lista
  • Ustaw playlistId = [PLAYLISTID] z kroku 1
  • przejrzyj każdy PlaylistItem i wyciągnij identyfikatory wideo
 10
Author: user2550957,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-16 10:26:18