Запрещает ли API YouTube загружать подписи к видео, если вы не являетесь его владельцем?

Как мне кажется, API YouTube запрещает скачивать подписи к видео, если вы не являетесь его владельцем:

Подписи к видео могут быть созданы, извлечены, изменены и удалены только владельцем этого видео.

Ссылка выше ведет к документации 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();
}

Так действительно ли API YouTube v3.0 ограничивает доступ для чтения к заголовкам, когда они являются общедоступными данными, и есть даже сервисы и сценарии, позволяющие вам загружать заголовки любого видео YouTube? Как можно получить подписи к любому видео на YouTube (предпочтительнее использовать решения с использованием API)?

0 ответов

Другие вопросы по тегам