LiveBroadcasts: update

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

一般的なユースケース

リクエスト

HTTP リクエスト

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

承認

このリクエストは、少なくとも次のうち 1 つのスコープによる承認が必要です。認証と承認の詳細については、OAuth 2.0 承認の実装をご覧ください。

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

パラメータ

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

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

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

このメソッドは、パラメータ値で指定された部分に含まれるすべての変更可能なプロパティの既存の値をオーバーライドします。たとえば、ブロードキャストのプライバシー ステータスは 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.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • monetizationDetails.cuepointSchedule.pauseAdsUntil

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

レスポンス

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

エラー

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

エラーのタイプ エラーの詳細 説明
forbidden (403) closedCaptionsTypeModificationNotAllowed contentDetails.closedCaptionsType 値は、ブロードキャストが created または ready ステータスの場合のみ変更できます。
forbidden (403) enabledModificationNotAllowed enabled フィールドは読み取り専用です。
forbidden (403) scheduleStrategyModificationNotAllowed scheduleStrategy フィールドは読み取り専用です。
forbidden (403) repeatIntervalSecsModificationNotAllowed repeatIntervalSecs フィールドは読み取り専用です。
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 で詳細を確認できます。
invalidValue (400) invalidAutoStart ライブ配信リソースに、contentDetails.enableAutoStart プロパティの無効な値が含まれています。永続ブロードキャストの enableAutoStart 設定は変更できません。
invalidValue (400) invalidAutoStop ライブ配信リソースに、contentDetails.enableAutoStop プロパティの無効な値が含まれています。永続ブロードキャストの enableAutoStop 設定は変更できません。
invalidValue (400) invalidDescription ライブ配信リソースで、snippet.description プロパティに有効な値が指定されていません。snippet.description には 5,000 文字まで入力できます。
invalidValue (400) invalidEmbedSetting ライブ配信リソースに、contentDetails.enable_embed プロパティの無効な値が含まれていました。このブロードキャストを埋め込むことはできません。
invalidValue (400) invalidEnableClosedCaptions liveBroadcast リソースcontentDetails.enableClosedCaptions プロパティの値が、contentDetails.closedCaptionType 設定の値と互換性がありません。2 つのプロパティのいずれかのみを含むようにリソースを変更し、リクエストを再送信します。
invalidValue (400) invalidLatencyPreferenceOptions ライブ配信リソースに、contentDetails.latencyPreference プロパティの無効な値が含まれています。このレイテンシ設定では、すべての設定がサポートされているわけではありません。
invalidValue (400) invalidPauseAdsUntil ライブ配信リソースに、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 ライブ配信リソースに、contentDetails.projection プロパティの無効な値が含まれていました。永続ブロードキャストの投影を 360 に設定することはできません。
invalidValue (400) invalidScheduledEndTime ライブ配信リソースに、snippet.scheduledEndTime プロパティの無効な値が含まれていました。スケジュールの終了時間は、スケジュールの開始時間より後にする必要があります。
invalidValue (400) invalidScheduledStartTime liveBroadcast リソースsnippet.scheduledStartTime プロパティに無効な値が含まれていました。開始予定時刻は将来の時刻にする必要があります。
invalidValue (400) invalidTitle ライブ配信リソースで、snippet.title プロパティに有効な値が指定されていません。snippet.title は 1 ~ 100 文字にする必要があります。
notFound (404) liveBroadcastNotFound liveBroadcast リソースで指定された id プロパティでブロードキャストが識別されませんでした。
required (400) broadcastStreamDelayMsRequired liveBroadcast リソースcontentDetails.monitorStream.broadcastStreamDelayMs プロパティが指定されていません。
required (400) enableMonitorStreamRequired liveBroadcast リソースcontentDetails.monitorStream.enableMonitorStream プロパティが指定されていません。
required (400) idRequired ライブ配信リソースには、id プロパティの値を指定する必要があります。
required (400) scheduledEndTimeRequired liveBroadcast リソースsnippet.scheduledEndTime プロパティが指定されていません。
required (400) scheduledStartTimeRequired liveBroadcast リソースsnippet.scheduledStartTime プロパティが指定されていません。

試してみよう:

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