我尝试使用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方法可以做到这一点真的会更好
答案 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/
它将返回完整尺寸的图像。
就我而言,我只是使用php:
function bigAvatar($url) {
$url = substr($url, 0, strpos($url, 's28'));
return $url;
}
再次,如果Google决定将来更改此设置,则此操作会中断。但目前为止,它仍然有效。