YouTube Data API v3评论主题差异

时间:2015-04-30 18:05:33

标签: youtube youtube-data-api

我一直在尝试使用带有混合结果的新V3 Data API获取评论列表。

对于某些视频,您只会获得一部分评论。我在一些视频中注意到这一点,但对于这个特定情况,我将使用视频ID = U55NGD9Jm7M

您可以在此处的WebUI中找到有关此视频的所有评论:https://www.youtube.com/all_comments?v=U55NGD9Jm7M

在发布时,该视频有5,499条评论。

API结果

查询https://www.googleapis.com/youtube/v3/commentThreads?part=id,snippet,replies&textFormat=plainText&maxResults=100&videoId=U55NGD9Jm7M&key= {YOUR_API_KEY}时,我只收到317条评论(包括分页,并计算所有回复)(按时间顺序排序)。

验证研究

如果您选择"热门评论"从下拉菜单然后向下滚动并点击"更多"一遍又一遍,你得到超过1000条评论(我停在约1,000条)

如果您然后选择"最新的第一"从下拉列表中重复这个过程(更多...更多...更多)你会发现在你无法再显示任何评论之前有大约317条评论。

我觉得很奇怪,UI中存在差异,但是感谢API与UI的一部分对齐。有没有其他人注意到这一点?有没有办法获得所有5,499条评论的全文?

谢谢!

杰森

后续行动

作为后续行动,我能够使用View-&gt; Source(线程ID z12wzfzhtybgz13kj22ocvsz2unrtn1qj04)隔离一条评论,并在此处获取API中此评论的所有信息:https://www.googleapis.com/youtube/v3/commentThreads?part=id%2Csnippet%2Creplies&id=z12wzfzhtybgz13kj22ocvsz2unrtn1qj04&maxResults=100&key= {YOUR_API_KEY})< / p>

它甚至提到评论与之关联的正确的VideoID。但是,当您通过视频查询时,不会返回此注释ID。

后续行动2 我刷新了所有评论的Web UI,并且返回的评论列表明显不同

1 个答案:

答案 0 :(得分:0)

commentsThread.list来电最多只能返回100个结果(请参阅documentation中的maxResults)。如果您想获得更多评论主题,则必须将从初始调用中获得的nextPageToken传入后续API调用。

例如:

https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=U55NGD9Jm7M&maxResults=100&key=API_KEY

为您提供100条评论主题,nextPageTokenCg0Qk9fa7fHgxgIgACgBEhQIARCY49LZ5eDGAhi4rNGIrZrGAhgCIGM。如果您将该令牌包含在新的API调用中,请执行以下操作:

https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=Dlj6SUg9B04&&maxResults=100&nextPageToken=Cg0Qk9fa7fHgxgIgACgBEhQIARCY49LZ5eDGAhi4rNGIrZrGAhgCIGM&key=API_KEY

你会得到一组完全不同的评论主题。您可以在两个API调用中指定order=time来仔细检查。您将看到两个呼叫的最早评论主题不同,并且您在其他呼叫的结果中找不到评论主题ID。为了获得更多评论主题,您可以从较新的通话结果中取出nextPageToken并再次执行相同的操作(直到通话中没有给您另一个nextPageToken,这意味着您和&#0} #39;在最后一页上,并且没有更多评论主题可以返回)。