字幕トラックをアップロードします。
このメソッドはメディア アップロードをサポートしています。アップロードするファイルには、以下の制約が適用されます。
- 最大ファイルサイズ: 100 MB
- 有効なメディア MIME タイプ: text/xml、application/octet-stream、*/*
割り当てへの影響: このメソッドの呼び出しでは、400 ユニットの割り当て費用が発生します。
一般的なユースケース
リクエスト
HTTP リクエスト
POST https://www.googleapis.com/upload/youtube/v3/captions
承認
このリクエストは、少なくとも次のうち 1 つのスコープによる承認が必要です。認証と承認の詳細については、OAuth 2.0 承認の実装をご覧ください。
| 範囲 | 
|---|
| https://www.googleapis.com/auth/youtube.force-ssl | 
| https://www.googleapis.com/auth/youtubepartner | 
パラメータ
次の表に、このクエリでサポートされているパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。
| パラメータ | ||
|---|---|---|
| 必須パラメータ | ||
| part | stringpartパラメータは、API レスポンスに含めるcaptionリソース部分を指定します。パラメータ値をsnippetに設定します。パラメータ値に含めることができる part名を以下に示します。
 | |
| オプション パラメータ | ||
| onBehalfOfContentOwner | stringこのパラメータは、適切に承認されたリクエストでのみ使用できます。 注: このパラメータは YouTube コンテンツ パートナー専用です。 onBehalfOfContentOwnerパラメータは、リクエストの認証情報で、パラメータ値で指定されたコンテンツ所有者の代理で行動している YouTube CMS ユーザーを識別することを示します。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザー認証に使用する実際の CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされていなければなりません。 | |
| sync | booleanこのパラメータは非推奨になりました。 syncパラメータは、YouTube が字幕ファイルを動画の音声トラックと自動的に同期するかどうかを示します。値をtrueに設定すると、アップロードされた字幕ファイル内のタイムコードは無視され、字幕の新しいタイムコードが生成されます。タイムコードのない文字起こしをアップロードする場合や、ファイル内のタイムコードが正しくないと思われる場合は、YouTube で修正してもらうために syncパラメータをtrueに設定する必要があります。 | |
リクエスト本文
リクエスト本文に caption リソースを指定します。そのリソースの場合:
以下のプロパティの値を指定する必要があります。
- snippet.videoId
- snippet.language
- snippet.name
以下のプロパティの値を設定することができます。
- snippet.videoId
- snippet.language
- snippet.name
- snippet.isDraft
レスポンス
成功すると、このメソッドはレスポンスの本文で caption リソースを返します。
エラー
次の表に、このメソッドの呼び出しに対する応答として API から返される可能性のあるエラー メッセージを示します。詳細については、YouTube Data 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 リクエストとレスポンスを確認します。