次の例は、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 ではファイルのダウンロードがサポートされていないため、このクエリを 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
に更新されます。つまり、トラックは一般公開されなくなります。APIs 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