首页 > 解决方案 > YouTube commentThreads 将评论回复限制为 JSON 数据中的 5 个结果?

问题描述

我已经构建了一个 PHP 脚本来提取所有评论(通过迭代所有结果页面)及其回复。它工作正常,除了回复似乎被限制为 5 个结果。

items->replies->comments

...这在 JSON 数据中只有 5 个结果,即使items->snippet->totalReplyCount高于 5。

这是我正在使用的电话:

https://www.googleapis.com/youtube/v3/commentThreads?key={KEY}&part=snippet,replies&maxResults=100&videoId={VIDEO} 

谢谢!

标签: phpyoutube-data-api

解决方案


根据文档(以下重点是我的):

commentThread资源包含有关 YouTube 评论线程的信息,其中包括顶级评论和对该评论的回复(如果存在)。commentThread资源可以表示有关视频或频道的评论。

顶级评论和回复实际上都是comment嵌套在资源中的commentThread资源。资源不一定包含对评论的所有回复,如果要检索特定评论的所有回复,则需要使用该方法commentThreadComments.list。另请注意,有些评论没有回复。

因此,如果您想获取所有顶级评论及其每个相关回复,您必须将两个端点组合起来CommentThreads.listComments.list在两个循环中:

  1. 获取所有顶级评论;
  2. 对于每个此类顶级评论,获取其所有附加回复。

组合这些循环的方式取决于您(注意:这两个 API 端点都提供分页结果集)。


推荐阅读