実装: 字幕

次の例は、YouTube Data API(v3)を使用して字幕に関連する機能を実行する方法を示しています。

動画の字幕トラックのリストを取得する

特定の動画で利用できる字幕トラックのリストを取得するには、captions.list メソッドを呼び出します。videoId パラメータ値を、字幕を取得する動画を一意に識別する YouTube 動画 ID に設定します。リクエストは OAuth 2.0 を使用して承認する必要があります。

以下のリクエストにより、Google ストーリーの YouTube チャンネルの動画の字幕リストが取得されます。

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

コードサンプルについては、captions.list メソッドのドキュメントをご覧ください。

字幕トラックを作成する

API Explorer ではファイルのアップロードがサポートされていないため、このクエリを API Explorer でテストすることはできません。これはメソッドの要件です。

API の captions.insert メソッドを使用して、動画の新しい字幕トラックをアップロードできます。トラックをアップロードするときは、次の caption リソース プロパティに値を指定する必要があります。

字幕トラックをアップロードする際、以下の追加オプションを使用できます。

  • sync パラメータを true に設定すると、アップロードされた字幕ファイル内のタイムコードは無視され、字幕用の新しいタイムコードが生成されます。

    タイムコードのない音声文字変換をアップロードする場合や、ファイルのタイムコードが誤っていると思われる場合、YouTube に修正を任せる必要がある場合は、sync パラメータを true に設定してください。

  • caption リソースの snippet.isDraft プロパティを true に設定すると、トラックは一般公開されません。

コードサンプルについては、captions.insert メソッドのドキュメントをご覧ください。

字幕トラックをダウンロードする

ファイルのダウンロード機能に対応していないため、API Explorer を使用してこのクエリをテストすることはできません。

特定の字幕トラックをダウンロードするには、captions.download メソッドを呼び出します。id パラメータ値を、ダウンロードする字幕トラックを一意に識別する YouTube 字幕トラック ID に設定します。リクエストは OAuth 2.0 を使用して承認する必要があります。

v3 API では、次のオプションがサポートされています。

  • 特定の形式で字幕トラックを返すように指定するには、tfmt パラメータ値を設定して目的の形式を指定します。パラメータ定義には、サポートされている値が表示されます。

  • 字幕トラックの翻訳を取得するには、tlang パラメータ値を、希望する字幕言語を識別する ISO 639-1 の 2 文字の言語コードに設定します。翻訳は、Google 翻訳などの機械翻訳を使用して生成されます。

コードサンプルについては、captions.download メソッドのドキュメントをご覧ください。

字幕トラックを更新する

この API では、字幕トラックの下書きステータスの変更、ファイルの新しい字幕トラックのアップロード、またはその両方を行うことができます。

API Explorer を使用して、トラックの下書きステータスを変更する機能をテストできます。ただし、ツールがファイルをアップロードすることはサポートされていないため、API Explorer を使用して実際の字幕トラックを更新することはできません。

以下のリクエストにより、Google ストーリーの YouTube チャンネルの動画の字幕リストが取得されます。

リクエストによって、字幕トラックのドラフト ステータスが true に更新されます。これにより、トラックは一般公開されなくなります。API Explorer でリクエストを完了するには、id プロパティの値を設定して、字幕トラックを指定する必要があります。

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

コードサンプルについては、captions.update メソッドのドキュメントをご覧ください。

字幕トラックを削除する

次の例は、字幕トラックを削除する方法を示しています。この例の手順は次のとおりです。

  • ステップ 1: 字幕トラック ID を取得する

    上記の手順に沿って、動画の字幕トラックのリストを取得します。このリストを使用して、各トラックの ID をキーとして字幕トラックのリストを表示できます。

  • ステップ 2: トラックを削除する

    特定の動画を削除するには、captions.delete メソッドを呼び出します。リクエストでは、id パラメータに、削除するトラックの字幕トラック ID を指定します。リクエストは、OAuth 2.0 を使用して承認する必要があります。API Explorer でこのクエリをテストする場合、id パラメータ値を有効な字幕トラック ID に置き換える必要があります。

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