LiveBroadcasts: update

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

一般的なユースケース

リクエスト

HTTP リクエスト

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

承認

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

範囲
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 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 つのプロパティのいずれかのみが含まれるようにリソースを変更してから、リクエストを再送信します。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast リソースcontentDetails.latencyPreference プロパティに無効な値が含まれていました。このレイテンシ設定では、すべての設定がサポートされているわけではありません。
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 liveBroadcast リソースで指定された id プロパティがブロードキャストを識別しませんでした。
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 のリクエストとレスポンスを確認します。