2013-08-16 4 views
8

Ich versuche also, das Kanalprofilbild für einen YouTube-Kanal mithilfe der channelId zu erhalten.YouTube-Kanalprofilbild mit channelId abrufen

Ich möchte es einfach tun, indem Sie die ChannelId zu einer URL hinzufügen und das Bild auf diese Weise erhalten. Facebook hat etwas ähnliches, wo Sie diese URL:

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

Google+ hat es auch hier this Frage gefunden. Leider funktionierte es nicht für YouTube (ich konnte es nicht zur Arbeit bringen)

Hoffe jemand hat eine Lösung!

Vielen Dank im Voraus :)

+2

Ich möchte weiß das, mit den neuen APIs. – markzzz

Antwort

5

können Sie channels->list Anfrage dafür.

Als Antwort werden Sie snippet.thumbnails."default".url für diesen Kanal des

für authentifizierte Benutzer erhalten:

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

Oder für jede ID-Kanal:

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

Das würde funktionieren, aber ich erhalte derzeit einen Feed für den Benutzer. Ich möchte nur das Kanalbild des Kanals anzeigen, der das Update gepostet hat. Das Senden einer separaten Anfrage für jede Antwort ist eine Menge Arbeit, und es muss einen einfacheren Weg geben ..? – Aleksander

1

ein wenig spät, aber vielleicht interessant für andere:

erstellen Sie einfach eine durch Komma getrennte Liste für die verschiedenen channelIds und dann

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

fordern daher müssen Sie nicht eine Anforderung für jedes Element

3

In PHP senden, habe ich es mit:

$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;