Captions: insert

字幕トラックをアップロードします。

このメソッドはメディア アップロードをサポートしています。アップロードするファイルには、以下の制約が適用されます。

  • 最大ファイルサイズ: 100 MB
  • 有効なメディア MIME タイプ: text/xmlapplication/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 string
part パラメータは、API レスポンスに含める caption リソース部分を指定します。パラメータ値を snippet に設定します。

パラメータ値に含めることができる part 名を以下に示します。
  • id
  • snippet
オプション パラメータ
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.languagesnippet.name の字幕トラックがすでに存在します。動画には同じ言語の複数のトラックを含めることができますが、各トラックの名前は異なる必要があります。

このエラーに対処する方法は複数あります。既存のトラックを削除してから新しいトラックを挿入するか、新しいトラックの挿入前に名前を変更します。
forbidden (403) forbidden リクエストに関連付けられている権限では、字幕トラックをアップロードできません。リクエストが適切に認証されていない可能性があります。
invalidValue (400) invalidMetadata リクエストに無効なメタデータ値が含まれているため、トラックが作成されません。リクエストで snippet.languagesnippet.namesnippet.videoId プロパティに有効な値が指定されていることを確認します。snippet.isDraft プロパティを含めることもできます。ただし、必須ではありません。
notFound (404) videoNotFound videoId パラメータで指定された動画が見つかりませんでした。
invalidValue (400) nameTooLong リクエストで指定された snippet.name が長すぎます。サポートされている最大文字数は 150 文字です。

試してみよう:

APIs Explorer を使用してこの API を呼び出し、API リクエストとレスポンスを確認します。