Jeff Posnick, YouTube Developer Relations - giugno 2013
È stato possibile collegare i profili Google+ ai canali YouTube da più di un anno e abbiamo bloggato il modo in cui alcune risposte dell'API di dati v2 sono cambiate grazie al collegamento del profilo. Più recentemente è stato possibile creare nuovi canali YouTube a cui non è associato un nome utente tradizionale e che sono identificati esclusivamente dal profilo Google+. Molte informazioni provenienti da questo post del blog sono ancora valide, ma questa stropiccia che invalida alcuni presupposti fondamentali sui canali YouTube, come il fatto che ognuno sarà sempre associato a un nome utente YouTube unico, ci teniamo a proseguire con alcune best practice aggiuntive per la scrittura del codice adatto a tutti i canali.
ID canale nell'API di dati v3
Tutte le operazioni v3 che funzionano con i canali utilizzano gli ID canale esclusivamente per identificare tali canali. L'ID del canale di un utente specifico di YouTube è identico nella v2 e nella v3 dell'API, semplificando le migrazioni tra le versioni. La dipendenza completa dagli ID canale potrebbe essere complicato per gli sviluppatori che prima utilizzavano i nomi utente YouTube per passare ai metodi API, ma la v3 era progettata per trattare i canali con e senza nomi utente legacy in modo identico, il che significa che gli ID canale venivano usati ovunque.
Se utilizzi la v3 e vuoi recuperare l'ID canale corrispondente all'utente attualmente autorizzato, puoi chiamare il metodo channels.list(part="id", mine=true)
. Equivale a chiedere il profilo del canale dell'utente default
nella versione 2.
Se ti capita di trovarti con un nome utente YouTube arbitrario legacy che devi tradurre in un ID canale utilizzando la v3 dell'API, puoi effettuare una chiamata channels.list(part="id", forUsername="username")
all'API.
Se conosci solo il nome visualizzato e stai cercando il canale corrispondente, il metodo search.list(part="snippet", type="channel", q="display name")
sarà utile. Dovresti essere in grado di gestire la possibilità che la chiamata restituisca più di un elemento nella risposta, in quanto i nomi visualizzati non sono univoci.
ID canale nell'API di dati v2
Nota: l'API YouTube Data (v2) è stata ritirata dal 26 febbraio 2014 ed è stata disattivata. Le applicazioni che utilizzano ancora l'API v2 devono eseguire immediatamente la migrazione all'API v3.
Il punto più importante per gli sviluppatori che utilizzano la versione 2 dell'API di dati precedente è che devi tenere presente che non tutti i canali YouTube hanno un nome utente univoco. Fortunatamente, a ogni canale YouTube è associato un ID canale univoco, rappresentato dal valore nel tag <yt:channelId>
. Si tratta del valore che consigliamo agli sviluppatori di utilizzare al posto dei nomi utente. Ad esempio, se hai un database che mappa i nomi utente di YouTube a informazioni sul canale, le tue voci precedenti dovrebbero continuare a funzionare. I canali esistenti non perderanno i loro nomi utente. Con il passare del tempo, infatti, sarà sempre più probabile che tu debba collaborare con canali che non possono essere identificati in modo univoco da un nome utente.
Esistono due fattori che semplificano la transizione dai nomi utente agli ID canale. Innanzitutto, l'API di dati v2 accetta gli ID canale negli URL delle richieste ovunque accetti i nomi utente YouTube, il che significa che puoi sostituire facilmente un ID canale con il codice esistente. Ad esempio, poiché UC_x5XG1OV2P6uZZ5FSM9Ttw
è l'ID canale del canale con il nome utente precedente GoogleDevelopers
, i due URL seguenti corrispondono a richieste API equivalenti:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
Inoltre, tieni presente che ogni volta che effettui richieste di tipo autenticato v2, non devi mai includere il nome utente del canale autorizzato durante la creazione degli URL di richiesta. Puoi sempre utilizzare il valore default
al posto di un nome utente (o ID canale). Pertanto, se vuoi recuperare il feed di caricamento dei video per l'utente attualmente autorizzato, puoi farlo all'indirizzo https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
.