authorProfileImageUrl仅返回一个小缩略图

时间:2017-10-06 07:20:10

标签: youtube-api youtube-data-api

我尝试使用YouTube Data API获取视频评论列表 问题是,响应中的字段authorProfileImageUrl包含指向配置文件图像的小缩略图(28x28像素)的URL,而不是YouTube评论部分中可以看到的较大缩略图(48x48)。如何找回更大的?我是否在请求中遗漏了一些魔术参数,用于在评论中选择个人资料图片的大小?

这是我的请求网址:

https://www.googleapis.com/youtube/v3/commentThreads?videoId=VIDEO_ID&part=snippet&fields=pageInfo,items(snippet(topLevelComment(id,snippet(authorDisplayName,authorChannelUrl,authorProfileImageUrl,authorChannelId,textDisplay,likeCount,publishedAt)),totalReplyCount))&maxResults=3&key=API_KEY

修改 以下是我获得的示例资料图片网址:

https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/s28-c-k-no-mo-rj-c0xffffff/photo.jpg
                                                                        ^^

我注意到标记的部分似乎选择了尺寸,因为当我将28更改为48时,个人资料照片的尺寸也会发生变化。

我可以手动更改它"有一些花哨的正则表达式,它会工作,但它也将依赖于未记录的实现细节,并且可能在将来发生变化并使应用程序崩溃:P所以如果有一个记录的API方法可以做到这一点真的会更好

2 个答案:

答案 0 :(得分:1)

似乎没有人知道如何解决这个问题,这是我的临时解决方案 它有效,但它取决于可能在未来发生变化的实施细节,然后解决方案将分崩离析并且必须予以纠正:q

我现在接受我自己的答案,但当有人发布更好的答案时,我会接受它。

解决方案:
我做了一个简单的函数,在URL字符串中搜索图像大小,并用更大的大小替换它。

function small2big(url)
{
   return url.replace(/(\/.*s)28(.*\/photo.jpg)$/,"$1"+"48"+"$2");
}

哦,这是我的中指,谷歌:,,|,,

答案 1 :(得分:1)

实际上,实际上删除's28'处的所有内容将显示整个图像而没有指定尺寸。

例如,代替此: https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/s28-c-k-no-mo-rj-c0xffffff/photo.jpg

您可以使用以下命令:https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/

它将返回完整尺寸的图像。

就我而言,我只是使用php:

function bigAvatar($url) {
   $url = substr($url, 0, strpos($url, 's28'));
   return $url;
}

再次,如果Google决定将来更改此设置,则此操作会中断。但目前为止,它仍然有效。