使用 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 获取频道图标