【发布时间】:2021-04-14 13:49:00
【问题描述】:
我希望编写将视频 ID 作为输入并检索在相应视频上制作的 cmets 的代码。这是link to the API docs。我试过这段代码
String videoId = "id";
YouTube.Comments.List list2 = youtube.comments().list(Arrays.asList("snippet"));
list2.setId(Arrays.asList(videoId));
list2.setKey(apiKey);
Comment c = list2.execute().getItems().get(0);
但我在最后一行得到一个IndexOutOfBoundsException,因为getItems 返回一个空的List。我将videoId 设置为有效的 YouTube 视频 ID(我已经成功地从中获取了视频数据,如观看次数、标题等),我认为这可行,但显然我错了。除非我错过了一些东西,否则我在 Video 类的文档中找不到任何关于获取评论数据的内容,所以这就是我再次向 SO 寻求帮助的原因。
编辑:根据 stvar 的评论,我尝试将上述代码的第二行更改为
YouTube.CommentThreads.List list2 = youtube.commentThreads().list(Arrays.asList("snippet"));
当然将c 的类型更改为CommentThread。
这是我应该使用的CommentThreads API,对吧?无论哪种方式,这也会返回一个空列表...
【问题讨论】:
-
您没有进行正确的 API 调用。请阅读answer I provided to a similar question,其中描述了检索给定视频的所有 cmets(顶级和回复)所需的 API。
-
在阅读您链接的答案后,我第二次尝试获取数据并编辑了问题。
标签: java youtube youtube-data-api