字幕トラックをアップロードします。
このメソッドはメディア アップロードをサポートしています。アップロードするファイルには、以下の制約が適用されます。
- 最大ファイルサイズ: 100 MB
- 使用できるメディアの MIME タイプ:
text/xml
、application/octet-stream
、*/*
割り当てへの影響: このメソッドを呼び出すと、400 ユニットの割り当てコストが発生します。
一般的なユースケース
リクエスト
HTTP リクエスト
POST https://www.googleapis.com/upload/youtube/v3/captions
承認
このリクエストは、少なくとも次のうち 1 つのスコープでの承認が必要です(認証と承認の詳細をご確認ください)。
範囲 |
---|
https://www.googleapis.com/auth/youtube.force-ssl |
https://www.googleapis.com/auth/youtubepartner |
パラメータ
次の表に、このクエリでサポートされているパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。
パラメータ | ||
---|---|---|
必須パラメータ | ||
part |
string part パラメータには、API レスポンスに含める caption リソース パーツを指定します。パラメータ値を snippet に設定します。パラメータ値に指定できる part の名前は次のとおりです。
|
|
オプション パラメータ | ||
onBehalfOfContentOwner |
string このパラメータは、適切に承認されたリクエストでのみ使用できます。注: このパラメータは YouTube コンテンツ パートナー専用です。 onBehalfOfContentOwner パラメータは、リクエストの認証情報が、パラメータ値で指定されたコンテンツ所有者の代理である YouTube CMS ユーザーを識別することを示します。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザー認証に使用する実際の CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされていなければなりません。 |
|
sync |
boolean このパラメータは非推奨になりました。 sync パラメータは、字幕ファイルを動画の音声トラックと自動的に同期させるかどうかを示します。この値を true に設定すると、YouTube はアップロードされた字幕ファイルに含まれているタイムコードを無視し、字幕の新しいタイムコードを生成します。タイムコードのない文字起こしをアップロードする場合、またはファイル内のタイムコードが間違っていると思われる場合に YouTube でタイムコードを修正したい場合は、 sync パラメータを true に設定する必要があります。 |
リクエスト本文
リクエストの本文には字幕リソースを指定します。このリソースについて:
-
以下のプロパティの値を指定する必要があります。
snippet.videoId
snippet.language
snippet.name
-
以下のプロパティの値を設定することができます。
snippet.videoId
snippet.language
snippet.name
snippet.isDraft
レスポンス
成功すると、このメソッドはレスポンスの本文で字幕リソースを返します。
エラー
次の表に、このメソッドの呼び出しに対して API から返されるエラー メッセージを示します。詳細については、エラー メッセージのドキュメントを参照してください。
エラーのタイプ | エラーの詳細 | 説明 |
---|---|---|
badRequest (400) |
contentRequired |
リクエストに字幕トラックのコンテンツが含まれていません。 |
conflict (409) |
captionExists |
指定した動画には、指定された snippet.language と snippet.name の字幕トラックがすでに存在します。動画には同じ言語の複数のトラックを含めることができますが、トラックごとに異なる名前を指定する必要があります。エラーへの対処方法は複数あります。既存のトラックを削除してから新しいトラックを挿入するか、新しいトラックの名前を変更してから挿入することができます。 |
forbidden (403) |
forbidden |
リクエストに関連付けられている権限では、字幕トラックをアップロードできません。リクエストが適切に認証されない可能性があります。 |
invalidValue (400) |
invalidMetadata |
リクエストに無効なメタデータ値が含まれているため、トラックを作成できません。リクエストで snippet.language 、snippet.name 、snippet.videoId の各プロパティに有効な値が指定されていることを確認します。snippet.isDraft プロパティを含めることもできますが、必須ではありません。 |
notFound (404) |
videoNotFound |
videoId パラメータで特定される動画が見つかりませんでした。 |
invalidValue (400) |
nameTooLong |
リクエストで指定された snippet.name が長すぎます。サポートされる最大文字数は 150 文字です。 |
試してみよう:
APIs Explorer を使用してこの API を呼び出し、API のリクエストとレスポンスを確認します。