我对commentThread API调用有问题。这是一种特定情况:注释ID:z13ocxipdz3hwxqqe04cgbuadtmnhhmybyc0k
https://www.googleapis.com/youtube/v3/commentThreads?id=z13ocxipdz3hwxqqe04cgbuadtmnhhmybyc0k&part=snippet%2C+replies&key= {YOUR_DEVELOPER_KEY}&alt = json&order = time
目前有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条答复(评论)不正确。即使我们有答复;没有回复部分。我想念什么吗?
两个问题:为什么答复数量不匹配?为什么该commentThread即使有39条回复也没有回复?
注意:作为part
,我使用的是“代码段,回复”。我没有收到任何API错误(例如违反油门或限制)
最佳答案
从commentThreads documentation:
请改用comments.list调用,并为parentId
指定commentThread的ID。
当我执行以下 call 时:
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。
老实说,我不确定是YouTube还是G +。当我查看其他一些具有回复的评论线程时,可以在指定视频ID时通过API调用看到它们。但是,正如丹尼尔(Daniel)所述,您实际上看不到在视频本身上指定的主题的回复(但是当您转到该用户的Google+页面时,您可以看到它们)。用户可能对他们的G +设置做了一些关于共享帖子评论的操作,这就是为什么它们没有出现在视频本身上,因此也没有出现在commentThreads列表请求中的原因。除非您与熟悉G + / YouTube集成的人交谈,否则很难说。