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 매개변수는 이 작업에서 두 가지 용도로 사용됩니다. 쓰기 작업에서 설정할 속성과 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 스튜디오를 통해서만 설정할 수 있습니다.
  • 브로드캐스트가 라이브가 아닙니다.
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 설정의 값과 호환되지 않습니다. 리소스에 두 속성 중 하나만 포함되도록 수정한 후 요청을 다시 제출하세요.
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 중 하나만 지정할 수 있습니다.
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 요청 및 응답을 확인합니다.