使用 channelId 获取 YouTube 频道个人资料图片

Posted

技术标签:

【中文标题】使用 channelId 获取 YouTube 频道个人资料图片【英文标题】:Getting YouTube channel profile picture with channelId 【发布时间】:2013-08-19 07:00:51 【问题描述】:

所以我正在尝试使用 channelId 获取 YouTube 频道的频道个人资料图片。

我想通过将 channelId 添加到 URL 并以这种方式获取图像来做到这一点。 Facebook 在你使用这个 URL 的地方有类似的东西:

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

Google+ 也有,在这里找到this 问题。遗憾的是它不适用于 YouTube(我无法让它工作)

希望有人有解决方案!

提前致谢:)

【问题讨论】:

我想通过新的 API 了解这一点。 【参考方案1】:

您可以为此使用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

【讨论】:

这可行,但我目前正在接收用户主页。我只想显示发布更新的频道的频道图片。为每个响应发送单独的请求需要做很多工作,而且必须有更简单的方法..? 对于您的第二个答案“对于任何频道 ID”,我收到错误消息:“未选择过滤器。应为以下之一:mySubscribers、categoryId、forUsername、id、idParam、mine、managedByMe”跨度> 当我添加我的 API 密钥时,@pas13 的回答对我有用。 &id+CHANNEL_ID& 应该是 &id=CHANNEL_ID&【参考方案2】:

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;

【讨论】:

【参考方案3】:

有点晚了,但对其他人来说可能很有趣:

只需为不同的 channelId 创建一个逗号分隔的列表,然后调用

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

以上是关于使用 channelId 获取 YouTube 频道个人资料图片的主要内容,如果未能解决你的问题,请参考以下文章

如何使用来自 YouTube Data API V3 的 enpoint 搜索通过 channelId 获取频道图标

获取 YouTube 视频观看次数 YouTube API

Youtube 数据 API V3 - 无视频网址

我如何访问 youtube api v3 私人播放列表 [关闭]

Youtube API v3 从给定频道获取每个视频 ID

从频道获取来自 youtube api 的视频