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
  • paidProductPlacementDetails
  • 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
    • status.containsSyntheticMedia
    • 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 リクエストとレスポンスを確認します。