如果您不是它的所有者,YouTube API是否禁止下载视频字幕?

Phi*_*nov 6 java youtube-api youtube-data-api

在我看来,如果您不是它的所有者,YouTube API 禁止下载视频字幕:

视频的字幕只能由该视频的所有者创建,检索,修改和删除.

上面的链接会导致YouTube API v2.0的文档被弃用,但似乎在v3.0中此政策保持不变.如果您尝试下载视频的标题,则会收到以下403错误:

与请求关联的权限不足以下载字幕轨道.该请求可能未得到适当授权,或者视频订单可能未启用此标题的第三方贡献.


在同一时间,你只需要API_KEY到列出任何的YouTube视频字幕没有任何授权(实例化对象的YouTube在此官方例子):

youtube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY,
        new HttpRequestInitializer() {
            public void initialize(HttpRequest request)
                throws IOException {
            }
        }).setApplicationName("youtube-cmdline-search-sample").build();

CaptionListResponse captionListResponse = youtube
    .captions()
    .list("snippet", "jNhtbmXzIaM")
    .setKey(API_KEY)
    .execute();

List<Caption> captions = captionListResponse.getItems();
CaptionSnippet snippet;
for (Caption caption : captions) {
    snippet = caption.getSnippet();
    System.out.println("ID: " + caption.getId());
    System.out.println("Name: " + snippet.getName());
    System.out.println("Language: " + snippet.getLanguage());
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)

那么YouTube API v3.0是否真的限制了对字幕的读取访问权限,而它的公共数据甚至还有服务和脚本允许您下载任何YouTube视频的字幕?如何获取任何youtube视频的标题(通过使用API​​首选的解决方案)?