我对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来迭代页面)你会看到:
(截图:https://www.dropbox.com/s/d4bf9tk51eaw7dr/Screenshot%202015-07-21%2021.08.31.png?dl=0)
你注意到了;有39条回复(评论),这是不正确的。即使我们有回复;没有回复部分。我错过了什么吗?
两个问题:为什么回复的数量不匹配?为什么评论线程没有回复,即使它有39条回复?
注意:我part
正在使用'代码段,回复'。我没有收到任何API错误(例如限制或限制违规)
答案 0 :(得分:1)
虽然我无法明确回答您的问题,但我能够找到一些有用的信息,可能会给您一些清晰度和方向。
关于您问题中列出的具体情况:用户"authorDisplayName": "Tammy L."
在2013年11月16日对视频"videoId": "Ui-ulCWmpOU"
发表了评论,并收到了2013年11月16日至11月18日之间的回复/ 2013。根据Tammy L.在Google+上的记录,从这一日起,她的初步评论有44条回复:
虽然根据YouTube上的记录显示,她的评论中有42条回复,但与API调用返回的值不匹配。更奇怪的是,当我点击“查看所有42条回复”时,Google不会显示评论:
似乎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集成的人交谈,否则很难说。