php - 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}
谢谢!
解决方案
根据文档(以下重点是我的):
commentThread
资源包含有关 YouTube 评论线程的信息,其中包括顶级评论和对该评论的回复(如果存在)。commentThread
资源可以表示有关视频或频道的评论。顶级评论和回复实际上都是
comment
嵌套在资源中的commentThread
资源。资源不一定包含对评论的所有回复,如果要检索特定评论的所有回复,则需要使用该方法commentThread
Comments.list
。另请注意,有些评论没有回复。
因此,如果您想获取所有顶级评论及其每个相关回复,您必须将两个端点组合起来CommentThreads.list
并Comments.list
在两个循环中:
- 获取所有顶级评论;
- 对于每个此类顶级评论,获取其所有附加回复。
组合这些循环的方式取决于您(注意:这两个 API 端点都提供分页结果集)。
推荐阅读
- ios - NSLayoutConstraint - 两项,一行,间距优先
- android - 如何在改造 2 上发布整个数据库
- xamarin.forms - 未应用 CornerRadius
- r - 在 R dplyr 中按组将多列转换为相对频率
- apache-spark - 在 PySpark Structured Streaming 中为多个输出流使用单个流数据帧
- c - 从C中的void函数返回一个值
- javascript - addClass() 仅指向子元素(而不是嵌套元素)
- c - realloc 在第二次调用时失败
- python - 弹出索引超出范围python
- php - 如何从 MySQL 中获取值以选择/选项标签