Youtube Data API v3:commentThread调用没有回复一些评论帖子

时间:2015-07-21 18:33:46

标签: youtube youtube-api

我对commentThread API调用有疑问。以下是一个具体案例:评论ID:z13ocxipdz3hwxqqe04cgbuadtmnhhmybyc0k

https://www.googleapis.com/youtube/v3/commentThreads?id=z13ocxipdz3hwxqqe04cgbuadtmnhhmybyc0k&part=snippet%2C+replies&key= {YOUR_DEVELOPER_KEY}&安培; ALT = JSON与秩序=时间

目前有44条回复。

但是如果您使用video_id(不像我们上面所做的评论ID。链接:https://www.googleapis.com/youtube/v3/commentThreads?videoId=Ui-ulCWmpOU&maxResults=100&pageToken=ChYQp7fipbfsxgIYkNGqiobjxQIgACgDEhQIABCQ0aqKhuPFAhiMqqKive-5AhgCIKwC&part=snippet%2C+replies&key= {YOUR_DEVELOPER_KEY}& alt = json& order = time)并且会看到评论(您可能需要使用pageToken来迭代页面)你会看到:

39 replies but no replies section

(截图:https://www.dropbox.com/s/d4bf9tk51eaw7dr/Screenshot%202015-07-21%2021.08.31.png?dl=0

你注意到了;有39条回复(评论),这是不正确的。即使我们有回复;没有回复部分。我错过了什么吗?

两个问题:为什么回复的数量不匹配?为什么评论线程没有回复,即使它有39条回复?

注意:我part正在使用'代码段,回复'。我没有收到任何API错误(例如限制或限制违规)

2 个答案:

答案 0 :(得分:1)

虽然我无法明确回答您的问题,但我能够找到一些有用的信息,可能会给您一些清晰度和方向。

关于您问题中列出的具体情况:用户"authorDisplayName": "Tammy L."在2013年11月16日对视频"videoId": "Ui-ulCWmpOU"发表了评论,并收到了2013年11月16日至11月18日之间的回复/ 2013。根据Tammy L.在Google+上的记录,从这一日起,她的初步评论有44条回复:

enter image description here

虽然根据YouTube上的记录显示,她的评论中有42条回复,但与API调用返回的值不匹配。更奇怪的是,当我点击“查看所有42条回复”时,Google不会显示评论:

enter image description here

似乎commentId来电提供了对Tammy L.的初步评论的正确回复数量,这与她的Google+帐户中显示的回复数量一致。也许videoId调用的问题(包括此调用未提供replies的事实)可归因于changes Google在Tammy L.发表初步评论时实施的问题(2013年11月),虽然我不太确定。

答案 1 :(得分:1)

来自commentThreads documentation

  

commentThread资源不一定包含所有回复   评论,如果您愿意,您需要使用 comments.list方法   检索特定评论的所有回复。

改为使用comments.list来电,并为parentId指定commentThread的ID。

当我拨打以下电话时:

https://www.googleapis.com/youtube/v3/comments?part=snippet,id&parentId=z13ocxipdz3hwxqqe04cgbuadtmnhhmybyc0k&key=[API_KEY_HERE]&order=time&maxResults=50

我得到你提到的评论主题的所有(44)回复。

解决您的问题:

  

为什么回复数量不匹配?

如果我不得不猜测,我会说这可能是由于API如何区分评论和评论线程(它考虑回复线程中的其他回复而不是与视频本身相关联)。由于文档说commentThread资源可能不包含对评论的所有回复,我认为这仍然按预期工作。无论如何,在未来通常会更好地报告所报告的更多回复,因为API更有可能缺少某些结果而不是报告额外结果。另外,请记住,如果您想要对某个评论主题进行所有回复,那么您应该使用comments.list。

  

为什么commentThread没有回复,即使它有39个回复?

说实话,我不确定这是YouTube事物还是G +事物。当我查看其他一些有回复的评论主题时,我可以在指定视频ID时通过API调用看到它们。但是,正如Daniel所说,你实际上看不到你在视频本身上指定的主题的回复(但是当你转到该用户的G +页面时,你可以看到它们)。用户可能会对他们的G +设置做一些有关其共享帖子评论的内容,这就是为什么他们没有出现在视频本身上,因此没有显示在commentThreads列表请求中。除非你和熟悉G + / YouTube集成的人交谈,否则很难说。