Закрытые титры в YouTube API v3

Мне нужно прочитать текст с субтитрамиСторонние общедоступные видео на YouTube в моем веб-приложении на Java, т.е. я НЕ загрузил содержимое.

в то время какv2 API данных YouTube ограниченный доступ к информации подписи для человека, который загрузил видео кажется очень странным ограничением предоставлять доступ ко всему, кроме этой части данных. Я ожидал увидеть это ограничение вv3 API но теперь единственная ссылка на скрытую подпись - это логический метод для подтверждения того, что CC прикреплен к видео. Даже владелец можетКажется, сейчас его не скачивают. (Google собирается добавить это назад по крайней мере?)

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

Используя API данных YouTube v3 (используяКлиент Google Java API) Мне удалось найти, аутентифицировать и получить ресурсы YouTube (видео, плейлисты, каналы и т. Д.). Я могу сделать почти все, что API сделал доступным, я просто могуне читать фактический текст заголовка.

мы также попробовалинеопубликованные временные ссылки но это противоречиво, не так лине работает для нового контента и имеет много ошибок кодирования в контенте, который он покрывает.

Интересно, знает ли кто-нибудь о способе получения текста заголовка из видео YouTube из Java (не плагин .js)?

[В худшем случае, кто-нибудь знает библиотеку, которая позволяет мне программно взаимодействовать с YouTube, как браузер ипозволяет мне нажать кнопку расшифровки на экране, и я могу вытащить стенограмму оттуда?Prowser Безразлично»т разрешить взаимодействие с кликом иJxBrowser составляет $ 1300 +]

Приведенный ниже код отлично работает и возвращает меня ко всем видеоданным, так чтоЭто последний шаг, на котором мне нужна помощь. Я'мы включили его сюда на случай, еслиЭто полезно для тех, кому нужно далеко зайти.

// 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 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 = ???????

Любая помощь с благодарностью получена.

Спасибо,

Грег.

Ответы на вопрос(2)

Ваш ответ на вопрос