Youtube Data API获取评论不全,如何获取视频完整评论列表?
如何通过YouTube Data API获取完整的评论列表?
针对你遇到的API返回评论数少于YouTube Studio后台的问题,主要有几个常见原因和对应的解决方式:
1. 未获取嵌套的子评论
默认情况下,commentThreads.list接口只返回顶级父评论,而YouTube Studio后台显示的总数包含了父评论下的所有子回复。要获取包含回复的完整评论数据,需要在请求中指定part=snippet,replies参数,这样接口会返回每条顶级评论关联的全部回复内容。
2. 未处理API分页机制
即便设置了maxResults=50,如果评论总数超过该值,API会返回nextPageToken分页令牌,仅返回当前页的评论。你需要通过循环请求来获取全部评论:
- 首次请求后,检查响应中的
nextPageToken字段 - 若存在该令牌,在下一次请求中添加
pageToken={令牌值}参数 - 重复上述步骤,直到响应中不再包含
nextPageToken,此时已获取所有评论
3. 评论可见性过滤差异
API默认会过滤掉垃圾评论、已删除评论或隐私设置隐藏的评论,但YouTube Studio会向视频创作者展示这些内容。如果需要获取这类评论:
- 使用视频创作者账号的OAuth 2.0令牌发起请求(而非仅使用API密钥)
- 在请求中添加
moderationStatus=all参数,指定获取所有审核状态的评论
修正后的请求示例
GET https://youtube.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&maxResults=50&videoId=T1t6f2KqJ-o&moderationStatus=all&key=你的API密钥
(若使用OAuth授权,可去掉key参数,改用请求头携带令牌)
额外注意事项
- 确保你的API密钥或OAuth令牌拥有
commentThreads.readonly或moderateComments权限 - 注意YouTube Data API的配额限制,避免因请求过于频繁导致配额耗尽
内容的提问来源于stack exchange,提问作者Yasmine Boussaid
相关产品推荐
相关产品推荐

