Реализация: субтитры

Ниже приведены примеры того, как использовать YouTube Data API (v3) для выполнения функций, связанных с субтитрами.

Как получить список дорожек субтитров для видео

Чтобы получить список дорожек субтитров, доступных для определенного видео, вызовите метод captions.list. Установите для параметра videoId идентификатор видео на YouTube, по которому можно однозначно определить видео, для которого вы запрашиваете субтитры. Ваш запрос должен быть авторизован с помощью OAuth 2.0.

В приведенном ниже запросе извлекается список субтитров для видео на канале Google Stories на YouTube:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list?
part=snippet
&videoId=PRU2ShMzQRg

Примеры кода можно найти в документации по методу captions.list.

Как создать дорожку субтитров

Этот запрос нельзя протестировать с помощью API Explorer, поскольку API Explorer не поддерживает загрузку файлов, которая требуется для этого метода.

Чтобы загрузить новую дорожку субтитров для видео, используйте метод captions.insert. При загрузке трека необходимо указать значения для следующих свойств ресурса caption:

  • snippet.videoId – идентификатор видео, к которому добавляется дорожка субтитров.
  • snippet.language – язык дорожки субтитров.
  • snippet.name – название дорожки субтитров.

При загрузке дорожки субтитров доступны следующие дополнительные параметры:

  • Если для параметра sync задано значение true, YouTube проигнорирует временные коды в загруженном файле субтитров и создаст новые.

    Если вы загружаете расшифровку без временных меток или подозреваете, что они указаны неверно, и хотите, чтобы YouTube попытался их исправить, задайте для параметра sync значение true.

  • Если для свойства snippet.isDraft ресурса caption задано значение true, трек не будет виден всем пользователям.

Примеры кода можно найти в документации по методу captions.insert.

Как скачать дорожку субтитров

Этот запрос нельзя проверить с помощью API Explorer, поскольку он не поддерживает скачивание файлов.

Чтобы скачать определенную дорожку субтитров, вызовите метод captions.download. Установите для параметра id идентификатор дорожки субтитров YouTube, который однозначно определяет дорожку, которую вы скачиваете. Ваш запрос должен быть авторизован с помощью OAuth 2.0.

API версии 3 поддерживает следующие варианты:

  • Чтобы указать, что дорожка субтитров должна быть возвращена в определенном формате, задайте для параметра tfmt значение, соответствующее нужному формату. В определении параметра перечислены допустимые значения.

  • Чтобы получить перевод дорожки субтитров, задайте в качестве значения параметра tlang двухбуквенный код языка по стандарту ISO 639-1, который соответствует нужному языку субтитров. Перевод выполняется с помощью машинного перевода, например Google Переводчика.

Примеры кода можно найти в документации по методу captions.download.

Как обновить дорожку субтитров

API позволяет изменить статус черновика дорожки субтитров, загрузить новую дорожку субтитров для файла или сделать и то, и другое.

Вы можете использовать API Explorer, чтобы проверить возможность изменения статуса черновика трека. Однако вы не можете использовать API Explorer для обновления дорожки субтитров, поскольку этот инструмент не поддерживает загрузку файлов.

В приведенном ниже запросе извлекается список субтитров для видео на канале Google Stories на YouTube:

Запрос меняет статус черновика дорожки субтитров на true, то есть дорожка не будет видна пользователям. Чтобы выполнить запрос в API Explorer, вам нужно задать значение свойства id, которое идентифицирует дорожку субтитров.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.update?
part=snippet

Примеры кода можно найти в документации по методу captions.update.

Как удалить дорожку субтитров

В этом примере показано, как удалить дорожку субтитров. Пример состоит из следующих шагов:

  • Шаг 1. Получите идентификатор дорожки субтитров

    Выполните описанные выше действия, чтобы получить список дорожек субтитров для видео. Список можно использовать для отображения списка дорожек субтитров, используя идентификатор каждой дорожки в качестве ключа.

  • Шаг 2. Удалите тип версии

    Чтобы удалить определенное видео, вызовите метод captions.delete. В запросе параметр id указывает идентификатор удаляемой дорожки субтитров. Запрос должен быть авторизован с помощью OAuth 2.0. Если вы тестируете этот запрос в APIs Explorer, вам нужно будет заменить значение параметра id на действительный идентификатор дорожки субтитров.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.delete?
    id=CAPTION_TRACK_ID