Come posso ottenere un elenco di video caricati per un determinato canale con la nuova YouTube Data API (V3)?

Sto cercando di ottenere un elenco di ID video per tutti i video caricati su un canale. Vorrei anche utilizzare la nuova versione dell’API dei dati di YouTube (V3). Come faccio a fare questo?

Devi ottenere l’ID della playlist di caricamento per caricare ogni video. Per ottenere ciò, è necessario ottenere l’id del canale. Dopo aver ottenuto l’ID della playlist dall’ID del canale, è piuttosto semplice. Ho scritto i passaggi per tutti e tre di seguito.

Inoltre, offriamo PubSubHubBub che ti consente di essere avvisato ogni volta che un nuovo video viene aggiunto a un canale, oppure puoi usare SUP (V2) per vedere quali risorse sono state cambiate prima di effettuare le chiamate.

Istruzioni per ottenere ID video per tutti i video caricati per un canale in V3

  1. Ottieni l’ID del canale che desideri (probabilmente dovrai farlo solo una volta, quindi puoi salvarlo)

    • Usa search.list
    • Imposta il tipo sul canale
    • Imposta q sul nome del canale che desideri
    • Prendi l’ id del canale (qualcosa come questo: “channelId”: “UC0X2VuXXXXXXXXXXXXXXXX”)
  2. Ottieni l’ID della playlist per i caricamenti del canale utilizzando l’id del canale dal passaggio 1 (probabilmente dovrai farlo solo una volta, quindi puoi salvarlo)

    • Usa channels.list
    • Imposta id su UC0X2VuXXXXXXXXXXXXXXXX dal passaggio 1
    • Prendi la chiave per i caricamenti da contentDetails (qualcosa del genere: “upload”: “UU0XXXXXXXXXXXXXXXXXXXX”)
  3. Ottieni i video tramite gli elenchi di playlist nella playlist utilizzando l’ID della playlist del passaggio 2

    • Usa playlistItems.list
    • Imposta playlistId su UU0XXXXXXXXXXXXXXXXXXXX dal passaggio 2
    • Passare attraverso ciascun object Playlist e estrarre l’id del video

Nel frattempo, c’è un modo molto più semplice:

  • Utilizza la lista canali
  • set forUsername = [CHANNELNAME]
  • imposta part = contentDetails

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

  • Usa playlistItems.list
  • Imposta playlistId = [PLAYLISTID] dal punto 1
  • Passare attraverso ciascun object Playlist e tirare fuori gli ID video