使用频道ID获取YouTube频道头像

13

我想通过使用频道ID来获取YouTube频道的频道个人资料图片。

我希望只需将频道ID添加到URL中即可轻松获取图像。Facebook有类似的功能,您可以使用以下URL:

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

谷歌+也有类似功能,发现这里有相关问题。不幸的是对于YouTube并没有效果(我无法让它起作用)。

希望有人能提供解决方案!

先行致谢 :)


2
我想知道,使用新的API。 - markzzz
这确实很遗憾,这个问题仍然存在。应该有一种标准化的方法只使用频道ID来访问频道缩略图,就像你可以访问YouTube缩略图一样。没有理由要求进行API请求来执行此特定操作。 - Conor Reid
3个回答

11
你可以使用 channels->list 请求来实现这个功能。
在响应中,你将获得 snippet.thumbnails."default".url
对于已认证用户的频道:
GET https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true&fields=items%2Fsnippet%2Fthumbnails&key={YOUR_API_KEY}

或者针对任何频道ID:

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

2
那个方法可以行得通,但我目前正在接收用户的主页动态。我只想显示发布更新的频道的频道图像。为每个响应发送单独的请求很麻烦,肯定有更简单的方法吧..? - Aleksander
1
对于您的第二个答案“对于任何频道ID”,我收到了错误消息:“未选择筛选器。预期之一:mySubscribers、categoryId、forUsername、id、idParam、mine、managedByMe”。 - AdamHurwitz
@pas13的答案对我很有用,当我添加了我的API密钥时。 - AdamHurwitz
5
&id+CHANNEL_ID& 应该改为 &id=CHANNEL_ID& - Damn Vegetables

9
有点晚了,但或许对其他人有趣:
只需创建一个用逗号分隔的不同 channelIds 列表,然后调用。
https://www.googleapis.com/youtube/v3/channels?part=snippet&id='+commaSeperatedList+'&fields=items(id%2Csnippet%2Fthumbnails)&key={YOUR_API_KEY}

因此,您不必为每个项目发送请求。

只要您添加一个带有 API 密钥的参数,此答案就可以正常工作。&key={YOUR_API_KEY} - AdamHurwitz

8
在PHP中,我使用以下代码来获取它:
$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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接