2013-08-16 7 views
8

Quindi sto cercando di ottenere l'immagine del profilo del canale per un canale YouTube utilizzando il channelId.Come ottenere l'immagine del profilo del canale YouTube con channelId

Mi piacerebbe farlo semplicemente aggiungendo il channelId a un URL e ottenere l'immagine in questo modo. Facebook ha qualcosa di simile in cui si utilizza questo URL:

http://graph.facebook.com/user_id/picture?type=square 

Google+ ha anche esso, trovato qui this domanda. Purtroppo non ha funzionato per YouTube (non ho potuto farlo funzionare)

Spero che qualcuno abbia una soluzione!

Grazie in anticipo :)

+2

mi piacerebbe sappi questo, con le nuove API. – markzzz

risposta

5

È possibile utilizzare channels->list richiesta per questo.

In risposta si otterrà snippet.thumbnails."default".url per quella

Per il canale autenticato dell'utente:

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true&fields=items%2Fsnippet%2Fthumbnails&key={YOUR_API_KEY} 

o per le ID dei canali:

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&id+CHANNEL_ID&fields=items%2Fsnippet%2Fthumbnails&key={YOUR_API_KEY} 
+2

Funzionerebbe, ma attualmente sto ricevendo un feed home per gli utenti. Vorrei solo visualizzare l'immagine del canale del canale che ha pubblicato l'aggiornamento. L'invio di una richiesta separata per ciascuna risposta richiede molto lavoro e deve esserci un modo più semplice ...? – Aleksander

1

un po 'in ritardo, ma forse interessante per altri:

basta creare una lista separata da virgole per le diverse channelIds e quindi chiamare

https://www.googleapis.com/youtube/v3/channels?part=snippet&id='+commaSeperatedList+'&fields=items(id%2Csnippet%2Fthumbnails) 

pertanto non è necessario inviare una richiesta per ogni elemento

3

In PHP, ho capito con:

$url = "https://www.googleapis.com/youtube/v3/channels?part=snippet&fields=items%2Fsnippet%2Fthumbnails%2Fdefault&id={$channelId}&key={$API}"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$channelOBJ = json_decode(curl_exec($ch)); 

$thumbnail_url = $channelOBJ->items[0]->snippet->thumbnails->default->url;