次の例は、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
リソース プロパティに値を指定する必要があります。
snippet.videoId
- 字幕トラックを追加する動画を示します。snippet.language
- 字幕トラックの言語。snippet.name
- 字幕トラックの名前。
字幕トラックをアップロードする際、以下の追加オプションを使用できます。
-
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