首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >YouTube API v3中的闭包标题

YouTube API v3中的闭包标题
EN

Stack Overflow用户
提问于 2013-08-12 16:37:14
回答 2查看 5.5K关注 0票数 13

我需要阅读来自第三方的封闭式字幕文本,在我的java应用程序中公开可获得的YouTube视频--也就是说,我没有上传内容。

尽管v2的YouTube数据API将标题信息的访问限制在上传视频的人身上,但除了这一段数据之外,允许访问所有内容似乎是一个非常奇怪的限制。我希望看到这个限制在API的v3中被删除,但是现在对封闭标题的唯一引用是一种确定CC是否附加到视频的布尔方法。就连主人现在似乎也无法下载。(谷歌至少会把它加回去吗?)

代码语言:javascript
运行
复制
Boolean hasCaptions = video.getContentDetails().getCaption()

使用YouTube Data v3 (使用客户端),我能够找到、验证和检索YouTube资源(视频、播放列表、频道等)。我几乎可以完成API提供的一切,我只是不能阅读实际的标题文本。

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

我想知道是否有人知道从YouTube视频(不是.js插件)中检索标题文本的方法?

[最糟糕的情况是,有没有人知道有一个库允许我像浏览器一样以编程方式与YouTube交互,并允许我单击屏幕上的文字记录按钮,然后我可以从那里提取记录?普劳瑟不允许单击交互,而JxBrowser是$1,300+ ]

下面的代码工作得很好,可以让我找到所有的视频数据,所以这是我需要帮助的最后一步。我把它包括在这里,以防对任何需要走到这一步的人有帮助。

代码语言:javascript
运行
复制
// 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<Video> videos = listVideosResponse.getItems();

// Since a unique video id is given, it will only return
// one video. Would check if video has been removed in 
// production code.
Video video = videos.get(0);

// Read the remaining meta information
title = video.getSnippet().getTitle().trim();
author = video.getSnippet().getChannelTitle();

captionText = ???????

任何帮助都是感激的。

谢谢,

格雷格。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-12 18:40:22

我们希望不久就能在Data v3上得到标题支持。你不需要刮这个网站。

更新:现在已经实现了。医生可以在这里找到。

票数 14
EN

Stack Overflow用户

发布于 2016-12-09 05:10:19

他们最终引入了这样的特性:

代码语言:javascript
运行
复制
https://developers.google.com/youtube/v3/docs/captions
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18192214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档