LiveBroadcasts: update

ブロードキャストを更新します。たとえば、liveBroadcast リソースの contentDetails オブジェクトで定義されているブロードキャスト設定を変更できます。

一般的なユースケース

リクエスト

HTTP リクエスト

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

承認

このリクエストには、次のいずれかのスコープによる承認が必要です。認証と認可について詳しくは、OAuth 2.0 認可を実装するをご覧ください。

スコープ
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

パラメータ

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

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

パラメータ値に含めることができる part プロパティは、id、snippet、contentDetails、monetizationDetails、status です。

このメソッドは、パラメータ値で指定されたパーツに含まれる変更可能なプロパティの既存の値をすべてオーバーライドします。たとえば、ブロードキャストのプライバシー ステータスは status パーツで定義されます。そのため、リクエストで非公開または限定公開のブロードキャストを更新し、リクエストの part パラメータ値に status パーツが含まれている場合、ブロードキャストのプライバシー設定はリクエスト本文で指定された値に更新されます。リクエスト本文で値が指定されていない場合、既存のプライバシー設定は削除され、ブロードキャストはデフォルトのプライバシー設定に戻ります。
オプション パラメータ
onBehalfOfContentOwner string
このパラメータは、適切に認可されたリクエストでのみ使用できます。
注: このパラメータは、YouTube コンテンツ パートナー専用です。

onBehalfOfContentOwner パラメータは、リクエストの認可情報が、パラメータ値で指定されたコンテンツ所有者の代理として行動する YouTube コンテンツ マネジメント システム(CMS)ユーザーであることを示します。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザー認証に使用する CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされていなければなりません。
onBehalfOfContentOwnerChannel string
このパラメータは、適切に認可されたリクエストでのみ使用できます。
注: このパラメータは、YouTube コンテンツ パートナー専用です。

onBehalfOfContentOwnerChannel パラメータは、動画が追加されるチャンネルの YouTube チャンネル ID を指定します。このパラメータは、リクエストで onBehalfOfContentOwner パラメータの値を指定する場合に必要であり、そのパラメータと組み合わせてのみ使用できます。また、リクエストは、onBehalfOfContentOwner パラメータで指定されたコンテンツ所有者にリンクされている CMS アカウントを使用して認可する必要があります。最後に、onBehalfOfContentOwnerChannel パラメータ値で指定されたチャンネルは、onBehalfOfContentOwner パラメータで指定されたコンテンツ所有者にリンクされている必要があります。

このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、パラメータ値で指定されたチャンネルの代わりにアクションを実行できるようになります。チャンネルごとに認証情報を指定する必要はありません。

リクエストの本文

リクエストの本文に liveBroadcast リソースを指定します。 そのリソースの場合:

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

    • id
    • snippet.scheduledStartTime
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs

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

    • snippet.title
    • snippet.description
    • snippet.categoryId
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.availabilityConfig
    • monetizationDetails.adsMonetizationStatus
    • monetizationDetails.cuepointSchedule.enabled
    • monetizationDetails.cuepointSchedule.pauseAdsUntil
    • monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs

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

レスポンス

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

エラー

次の表に、このメソッドの呼び出しに応じて API が返す可能性があるエラー メッセージを示します。詳細については、エラー メッセージをご覧ください。

エラーのタイプ エラーの詳細 説明
backendError (503) backendError 一部の設定はまだ適用できません。ブロードキャストが作成されたばかりである可能性があります。数秒後にもう一度お試しください。
forbidden (403) closedCaptionsTypeModificationNotAllowed contentDetails.closedCaptionsType 値を変更できるのは、ブロードキャストが created または ready ステータスのときのみです。
forbidden (403) monetizationDetailsModificationNotAllowed YouTube パートナー プログラム(YPP)に参加していないチャンネルは、動画の monetizationDetails を変更できません。
forbidden (403) pauseAdsUntilModificationNotAllowed pauseAdsUntil フィールドは変更できません。 エラーの理由としては、次のことが考えられます。
  • monetizationDetails.cuepointSchedule.enabled フィールドが true に設定されていません。このフィールドは YouTube Studio でのみ設定できます。
  • ブロードキャストがライブ配信されていません。
forbidden (403) enableAutoStartModificationNotAllowed contentDetails.enableAutoStart 値を変更できるのは、ストリームが非アクティブで、ブロードキャストが created または ready ステータスのときのみです。
forbidden (403) enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions 値を変更できるのは、ブロードキャストのステータスが created または ready のときのみです。
forbidden (403) enableDvrModificationNotAllowed contentDetails.enableDvr 値を変更できるのは、ブロードキャストのステータスが created または ready のときのみです。
forbidden (403) enableMonitorStreamModificationNotAllowed contentDetails.monitorStream.enableMonitorStream 値を変更できるのは、ブロードキャストのステータスが created または ready のときのみです。
forbidden (403) recordFromStartModificationNotAllowed contentDetails.recordFromStart 値を変更できるのは、ブロードキャストのステータスが created または ready のときのみです。
insufficientPermissions insufficientLivePermissions リクエストに、指定されたライブ配信を更新する権限がありません。詳細については、OAuth2 認証を実装するをご覧ください。
insufficientPermissions liveStreamingNotEnabled リクエストを認可したユーザーは、YouTube でライブ動画をストリーミングできません。詳細については、https://www.youtube.com/features をご覧ください。
invalidArgument missingAdsMonetizationStatus ads_monetization_status は ON または OFF として指定する必要があります。
invalidValue (400) invalidAutoStart liveBroadcast リソース の contentDetails.enableAutoStart プロパティに無効な値が含まれています。 永続的なブロードキャストの enableAutoStart 設定は変更できません。
invalidValue (400) invalidAutoStop liveBroadcast リソース の contentDetails.enableAutoStop プロパティに無効な値が含まれています。永続的なブロードキャストの enableAutoStop 設定は変更できません。
invalidValue (400) invalidDescription liveBroadcast リソースで、snippet.description プロパティに有効な値が指定されていません。snippet.description には最大 5,000 文字まで含めることができます。
invalidValue (400) invalidEmbedSetting liveBroadcast リソースの contentDetails.enable_embed プロパティに無効な値が含まれています。このブロードキャストを埋め込むことはできません。
invalidValue (400) invalidEnableClosedCaptions liveBroadcast リソースで、contentDetails.enableClosedCaptions プロパティの値が contentDetails.closedCaptionType 設定の値と互換性がありません。リソースを変更して、2 つのプロパティのいずれか 1 つのみを含め、リクエストを再送信してください。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast リソース の contentDetails.latencyPreference プロパティに無効な値が含まれています。 このレイテンシ設定では、一部の設定はサポートされていません。
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization は読み取り専用であり、monetization_details フィールドで指定することはできません。
invalidValue (400) invalidCuepointSchedule liveBroadcast リソース の monetizationDetails.cuepointSchedule プロパティに無効な値が含まれています。 エラーの理由としては、次のことが考えられます。
  • ads_monetization_status が OFF の場合、cuepoint_schedule は指定できません。
  • ads_monetization_status が ON の場合、cuepoint_schedule を指定する必要があります。
ads_monetization_status が OFF の場合、cuepoint_schedule は指定できません。
invalidValue (400) invalidEnabled liveBroadcast リソース の monetizationDetails.cuepointSchedule.enabled プロパティに無効な値または競合する値が含まれています。 エラーの理由としては、次のことが考えられます。
  • enabled は cuepoint_schedule フィールドで指定する必要があります。
  • enabled が false の場合、pause_ads_until、yt_optimized_cuepoint_config、creator_cuepoint_config は指定できません。
  • enabled が true の場合、yt_optimized_cuepoint_config と creator_cuepoint_config のいずれか 1 つのみを指定できます。
invalidValue (400) invalidCreatorCuepointConfig schedule_strategy と repeat_interval_secs の両方を指定する必要があります。
invalidValue (400) invalidRepeatIntervalSecs repeat_interval_secs プロパティの値は [360, 3600] の範囲内である必要があります。
invalidValue (400) invalidPauseAdsUntil liveBroadcast リソース の monetizationDetails.cuepointSchedule.pauseAdsUntil プロパティに無効な値が含まれています。 エラーの理由としては、次のことが考えられます。
  • monetizationDetails.cuepointSchedule.pauseAdsUntil 値が ISO 8601(YYYY-MM-DDThh:mm:ss.sZ)形式で指定されていません。
  • monetizationDetails.cuepointSchedule.pauseAdsUntil 値が将来の値ではありません。
  • monetizationDetails.cuepointSchedule.pauseAdsUntil 値が現在時刻から 10 分以上離れています。
invalidValue (400) invalidPrivacyStatus liveBroadcast リソースで、有効なプライバシー ステータスが指定されていません。有効な 値privacyStatusをご覧ください。
invalidValue (400) invalidProjection liveBroadcast リソースの contentDetails.projection プロパティに無効な値が含まれています。永続的なブロードキャストのプロジェクションを 360 に設定することはできません。
invalidValue (400) invalidScheduledEndTime liveBroadcast リソースの snippet.scheduledEndTime プロパティに無効な値が含まれています。終了予定時刻は開始予定時刻より後にする必要があります。
invalidValue (400) invalidScheduledStartTime liveBroadcast リソースの snippet.scheduledStartTime プロパティに無効な値が含まれています。開始予定時刻には将来の日付を指定してください。
invalidValue (400) invalidTitle liveBroadcast リソースで、snippet.title プロパティに有効な値が指定されていません。snippet.title は 1 ~ 100 文字にする必要があります。
notFound (404) liveBroadcastNotFound id プロパティが liveBroadcast リソースで指定されたブロードキャストを識別していません。
preconditionFailed (412) videoNotEligibleForAdsMonetization 動画は広告による収益化の対象外です。チャンネルが収益化の対象外である場合に発生することがあります。
required (400) broadcastStreamDelayMsRequired liveBroadcast リソースで contentDetails.monitorStream.broadcastStreamDelayMs プロパティが指定されていません。
required (400) enableMonitorStreamRequired liveBroadcast リソースで contentDetails.monitorStream.enableMonitorStream プロパティが指定されていません。
required (400) idRequired liveBroadcast リソースには id プロパティを含め、値を指定する必要があります。
required (400) scheduledEndTimeRequired liveBroadcast リソースで snippet.scheduledEndTime プロパティが指定されていません。
required (400) scheduledStartTimeRequired liveBroadcast リソースで snippet.scheduledStartTime プロパティが指定されていません。

試してみよう:

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