YouTube API v3中的隐藏式字幕

我需要在我的java webapp中阅读来自第三方公开提供的YouTubevideo的隐藏字幕文本,即我没有上传内容。

虽然YouTube数据API的v2 限制了对上传video的用户的字幕信息的访问权限,但除了这一段数据之外,访问除了这一项之外的所有内容似乎是一个非常奇怪的限制。 我希望在API的v3中删除此限制,但现在对隐藏式字幕的唯一引用是一种布尔方法,用于确认CC是否附加到video。 即使是所有者现在也无法下载它。 (谷歌至少会把它添加回来吗?)

Boolean hasCaptions = video.getContentDetails().getCaption() 

使用YouTube Data API v3(使用Google Java API客户端 ),我能够查找,validation和检索YouTube资源(video,播放列表,频道等)。 我可以做几乎所有API提供的东西我只是无法阅读实际的标题文本。

我也尝试过未发布的定时文本链接解决方法,但这是不一致的,不适用于较新的内容,并且在其覆盖的内容中有许多编码错误。

我想知道是否有人知道从java(不是.js插件)的YouTubevideo中检索字幕文本的方法?

[最坏的情况是,有没有人知道一个图书馆,它允许我像浏览器一样以编程方式与YouTube互动,并允许我点击屏幕上的成绩单按钮 ,我可以从那里提取成绩单? Prowser不允许点击交互, JxBrowser是$ 1,300 +]

下面的代码工作正常,让我得到所有的video数据,所以这是我需要帮助的最后一步。 我把它包括在这里,以防它对任何需要这么做的人都有帮助。

 // Build a YouTube resource YouTube youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer()) .setApplicationName("caption-retrieval") .build(); // Create the video list request, it should only return one // result YouTube.Videos.List listVideosRequest = youtube.videos().list("id, snippet, contentDetails"); listVideosRequest.setKey(API_KEY)); listVideosRequest.setId(VIDEO_ID); // Request is executed and video list response is returned VideoListResponse listVideosResponse = listVideosRequest.execute(); List 

感谢任何帮助。

谢谢,

格雷格。

我们希望尽快为Data API v3提供Captions支持。 你不需要刮网站。

更新:现已实施。 文档可以在这里找到。

他们最后介绍了这个function:

 https://developers.google.com/youtube/v3/docs/captions