Videos: update

この API は、チャンネルまたは動画を「子ども向け」に設定する機能をサポートするようになりました。さらに、channel リソースと video リソースに、そのチャンネルまたは動画の「子ども向け」ステータスを識別するプロパティも含まれるようになりました。YouTube API サービスの利用規約とデベロッパー ポリシーも 2020 年 1 月 10 日に更新されました。詳しくは、YouTube Data API サービスYouTube API サービスの利用規約の変更履歴をご覧ください。

動画のメタデータを更新します。

割り当ての影響:このメソッドを呼び出すと、割り当てコストは 50 単位になります。

一般的なユースケース

リクエスト

HTTP リクエスト

PUT https://www.googleapis.com/youtube/v3/videos

承認

このリクエストは、少なくとも次のうち 1 つのスコープでの承認が必要です(認証と承認の詳細をご確認ください)。

範囲
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

パラメータ

次の表に、このクエリがサポートするパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。

パラメータ
必須パラメータ
part string
このオペレーションでは、part パラメータに 2 つの目的があります。書き込みオペレーションで設定するプロパティと、API レスポンスに含まれるプロパティを指定します。

このメソッドは、パラメータ値で指定されたすべての変更可能なプロパティの既存の値をオーバーライドします。たとえば、動画のプライバシー設定は status の部分にあります。そのため、リクエストで非公開動画を更新するときに、リクエストの part パラメータ値に status 部分が含まれている場合、動画のプライバシー設定は、リクエスト本文で指定された任意の値に更新されます。リクエストの本文で値が指定されていない場合は、既存のプライバシー設定が削除され、動画はデフォルトのプライバシー設定に戻ります。

また、動画の挿入時や更新時に設定できるプロパティがすべての部分に含まれているわけではありません。たとえば、statistics オブジェクトは、YouTube が動画に対して計算する統計情報をカプセル化したもので、設定や変更が可能な値は含まれません。パラメータ値に可変値を含まない part を指定した場合でも、その part は API レスポンスに含まれます。

次のリストには、パラメータ値に含めることができる part 名が含まれます。
  • contentDetails
  • fileDetails
  • id
  • liveStreamingDetails
  • localizations
  • player
  • processingDetails
  • recordingDetails
  • snippet
  • statistics
  • status
  • suggestions
  • topicDetails
オプション パラメータ
onBehalfOfContentOwner string
このパラメータは、適切に承認されたリクエストでのみ使用できます。注: このパラメータは、YouTube コンテンツ パートナー専用です。

onBehalfOfContentOwner パラメータは、パラメータ値で指定されたコンテンツ所有者に代わって行動する YouTube CMS ユーザーを識別するリクエストの認証情報です。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザー認証に使用する実際の CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされていなければなりません。

リクエスト本文

リクエストの本文に動画リソースを指定します。対象リソース:

  • 以下のプロパティの値を指定する必要があります。

    • id
    • snippet.title - このプロパティは、リクエストで video リソースの snippet を更新する場合にのみ必要です。
    • snippet.categoryId - このプロパティは、リクエストで video リソースの snippet を更新する場合にのみ必要です。

  • 以下のプロパティの値を指定することができます。

    • snippet.categoryId
    • snippet.defaultLanguage
    • snippet.description
    • snippet.tags[]
    • snippet.title
    • status.embeddable
    • status.license
    • status.privacyStatus
    • status.publicStatsViewable
    • status.publishAt - このプロパティの値を設定する場合は、status.privacyStatus プロパティも private に設定する必要があります。
    • status.selfDeclaredMadeForKids
    • recordingDetails.locationDescriptionサポート終了
    • recordingDetails.location.latitudeサポート終了
    • recordingDetails.location.longitudeサポート終了
    • recordingDetails.recordingDate
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description

    更新リクエストを送信する場合、既に値が設定されているプロパティの値を指定していないと、そのプロパティの既存の値が削除されます。

レスポンス

成功すると、このメソッドはレスポンスの本文で動画のリソースを返します。

エラー

次の表に、このメソッドの呼び出しに応じて API から返される可能性のあるエラー メッセージを示します。詳細については、エラー メッセージのドキュメントを参照してください。

エラーのタイプ エラーの詳細 説明
badRequest (400) defaultLanguageNotSet API リクエストは、動画の詳細のデフォルト言語を指定せずに、ローカライズされた動画の詳細を追加しようとしています。
badRequest (400) invalidCategoryId snippet.categoryId プロパティに無効なカテゴリ ID が指定されています。サポートされているカテゴリを取得するには、videoCategories.list メソッドを使用します。
badRequest (400) invalidDefaultBroadcastPrivacySetting このリクエストによって、デフォルトのブロードキャストに無効なプライバシー設定が試みられます。
badRequest (400) invalidDescription リクエスト メタデータで指定された動画の説明は無効です。
badRequest (400) invalidPublishAt リクエスト メタデータに、スケジュール設定された公開時刻が無効です。
badRequest (400) invalidRecordingDetails リクエスト メタデータの recordingDetails オブジェクトで、無効な記録の詳細が指定されています。
badRequest (400) invalidTags リクエスト メタデータで指定された動画のキーワードは無効です。
badRequest (400) invalidTitle リクエスト メタデータに、無効または空の動画タイトルが指定されています。
badRequest (400) invalidVideoMetadata リクエスト メタデータが無効です。
forbidden (403) forbidden
forbidden (403) forbiddenEmbedSetting このリクエストは、動画の無効な埋め込み設定を設定しようとします。なお、一部のチャンネルでは、ライブ配信用の埋め込みプレーヤーを提供する権限がない可能性があります。詳細情報は、YouTube ヘルプセンターをご覧ください。
forbidden (403) forbiddenLicenseSetting リクエストは、動画に無効なライセンスを設定しようとしています。
forbidden (403) forbiddenPrivacySetting リクエストは、動画に無効なプライバシー設定を指定しようとしています。
notFound (404) videoNotFound 更新しようとしている動画は見つかりません。リクエスト本文の id フィールドの値が正しいことを確認します。

実習

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