LiveBroadcasts: update

Atualiza uma transmissão. Por exemplo, você pode modificar as configurações de transmissão definidas no objeto contentDetails do recurso liveBroadcast.

Casos de uso comuns

Solicitação

Solicitação HTTP

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

Autorização

Essa solicitação exige autorização com pelo menos um dos escopos a seguir. Para saber mais sobre autenticação e autorização, consulte Implementar a autorização do OAuth 2.0.

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

Parâmetros

A tabela a seguir lista os parâmetros aceitos por essa consulta. Todos os parâmetros listados são os parâmetros de consulta.

Parâmetros
Parâmetros obrigatórios
part string
O part parâmetro tem duas finalidades nessa operação. Ele identifica as propriedades que a operação de gravação vai definir, bem como as propriedades que a resposta da API vai incluir.

As propriedades part que podem ser incluídas no valor de parâmetro são id, snippet, contentDetails, monetizationDetails e status.

Esse método vai substituir os valores atuais de todas as propriedades mutáveis contidas em qualquer parte especificada pelo valor de parâmetro. Por exemplo, o status de privacidade de uma transmissão é definido na parte status. Assim, se a solicitação estiver atualizando uma transmissão particular ou não listada e o valor do parâmetro part da solicitação incluir a parte status, a configuração de privacidade da transmissão será atualizada para qualquer valor especificado no corpo da solicitação. Se o corpo da solicitação não especificar um valor, a configuração de privacidade atual será removida e a transmissão vai reverter para a configuração de privacidade padrão.
Parâmetros opcionais
onBehalfOfContentOwner string
Esse parâmetro só pode ser usado em uma solicitação devidamente autorizada.
Observação: esse parâmetro é destinado exclusivamente a parceiros de conteúdo do YouTube.

O parâmetro onBehalfOfContentOwner indica que as credenciais de autorização da solicitação identificam um usuário do Sistema de gerenciamento de conteúdo (CMS, na sigla em inglês) do YouTube que está agindo em nome do proprietário do conteúdo especificado no valor de parâmetro. Este parâmetro destina-se a parceiros de conteúdo do YouTube que possuem e gerenciam vários canais do YouTube diferentes. Ele permite que os proprietários de conteúdo autentiquem uma vez e tenham acesso a todos os dados de seu canal e de seus vídeos sem ter que fornecer credenciais de autenticação para cada canal. A conta do CMS com a qual o usuário autentica deve estar vinculada ao proprietário do conteúdo do YouTube especificado.
onBehalfOfContentOwnerChannel string
Esse parâmetro só pode ser usado em uma solicitação devidamente autorizada.
Observação: esse parâmetro é destinado exclusivamente a parceiros de conteúdo do YouTube.

O parâmetro onBehalfOfContentOwnerChannel especifica o ID do canal do YouTube ao qual um vídeo está sendo adicionado. Esse parâmetro é obrigatório quando uma solicitação especifica um valor para o parâmetro onBehalfOfContentOwner e só pode ser usado em conjunto com ele. Além disso, a solicitação precisa ser autorizada usando uma conta do CMS vinculada ao proprietário do conteúdo especificado pelo parâmetro onBehalfOfContentOwner. Por fim, o canal especificado pelo valor do parâmetro onBehalfOfContentOwnerChannel precisa estar vinculado ao proprietário do conteúdo especificado pelo parâmetro onBehalfOfContentOwner.

Este parâmetro destina-se a parceiros de conteúdo do YouTube que possuem e gerenciam vários canais do YouTube diferentes. Ele permite que os proprietários de conteúdo autentiquem uma vez e realizem ações em nome do canal especificado no valor do parâmetro, sem ter que fornecer credenciais de autenticação para cada canal separado.

Corpo da solicitação

Forneça um recurso liveBroadcast no corpo da solicitação. Para esse recurso:

  • É necessário especificar um valor para essas propriedades:

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

  • Você pode definir valores para estas propriedades:

    • 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

    Se você estiver enviando uma solicitação de atualização e ela não especificar um valor para uma propriedade que já tenha um, o valor existente da propriedade será excluído.

Resposta

Se for bem-sucedido, esse método vai retornar um recurso liveBroadcast no corpo da resposta.

Erros

A tabela a seguir identifica as mensagens de erro que a API pode retornar em resposta a uma chamada para esse método. Para mais detalhes, consulte a mensagem de erro.

Tipo de erro Detalhe do erro Descrição
backendError (503) backendError Algumas configurações ainda não podem ser aplicadas. Isso provavelmente ocorre porque a transmissão acabou de ser criada. Tente de novo em alguns segundos.
forbidden (403) closedCaptionsTypeModificationNotAllowed O valor contentDetails.closedCaptionsType só pode ser modificado quando a transmissão está no status created ou ready.
forbidden (403) monetizationDetailsModificationNotAllowed Canais que não fazem parte do Programa de Parcerias do YouTube (YPP) não podem modificar monetizationDetails de um vídeo.
forbidden (403) pauseAdsUntilModificationNotAllowed O campo pauseAdsUntil não pode ser modificado. Esse problema pode ocorrer pelos seguintes motivos:
  • O campo monetizationDetails.cuepointSchedule.enabled não está definido como true. Esse campo só pode ser definido usando o YouTube Studio.
  • A transmissão não está ao vivo.
forbidden (403) enableAutoStartModificationNotAllowed O valor contentDetails.enableAutoStart só pode ser modificado quando o stream está inativo e a transmissão está no status created ou ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed O valor contentDetails.enableClosedCaptions só pode ser modificado quando o status da transmissão é created ou ready.
forbidden (403) enableDvrModificationNotAllowed O valor contentDetails.enableDvr só pode ser modificado quando o status da transmissão é created ou ready.
forbidden (403) enableMonitorStreamModificationNotAllowed O valor contentDetails.monitorStream.enableMonitorStream só pode ser modificado quando o status da transmissão é created ou ready.
forbidden (403) recordFromStartModificationNotAllowed O valor contentDetails.recordFromStart só pode ser modificado quando o status da transmissão é created ou ready.
insufficientPermissions insufficientLivePermissions A solicitação não está autorizada a atualizar a transmissão ao vivo especificada. Para mais informações, consulte Implementar a autenticação OAuth2.
insufficientPermissions liveStreamingNotEnabled O usuário que autorizou a solicitação não está ativado para transmitir vídeos ao vivo no YouTube. O usuário pode encontrar mais informações em https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus ads_monetization_status precisa ser especificado como ON ou OFF.
invalidValue (400) invalidAutoStart O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.enableAutoStart. Não é possível modificar a configuração enableAutoStart de uma transmissão persistente.
invalidValue (400) invalidAutoStop O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.enableAutoStop. Não é possível modificar a configuração enableAutoStop de uma transmissão persistente.
invalidValue (400) invalidDescription O recurso liveBroadcast não especificou um valor válido para a propriedade snippet.description. snippet.description pode conter até 5.000 caracteres.
invalidValue (400) invalidEmbedSetting O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.enable_embed. Não é possível incorporar essa transmissão.
invalidValue (400) invalidEnableClosedCaptions No recurso liveBroadcast, o valor da propriedade contentDetails.enableClosedCaptions é incompatível com o valor da configuração contentDetails.closedCaptionType. Modifique o recurso para incluir apenas uma das duas propriedades e envie a solicitação de novo.
invalidValue (400) invalidLatencyPreferenceOptions O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.latencyPreference. Nem todas as configurações são compatíveis com essa preferência de latência.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization é somente leitura e não pode ser especificado no campo monetization_details.
invalidValue (400) invalidCuepointSchedule O recurso liveBroadcast contém um valor inválido para a propriedade monetizationDetails.cuepointSchedule. Esse problema pode ocorrer pelos seguintes motivos:
  • cuepoint_schedule não pode ser especificado se ads_monetization_status for OFF.
  • cuepoint_schedule precisa ser especificado se ads_monetization_status for ON.
cuepoint_schedule não pode ser especificado se ads_monetization_status for OFF.
invalidValue (400) invalidEnabled O recurso liveBroadcast contém um valor inválido ou conflitante para a propriedade monetizationDetails.cuepointSchedule.enabled. Esse problema pode ocorrer pelos seguintes motivos:
  • enabled precisa ser especificado no campo cuepoint_schedule.
  • pause_ads_until, yt_optimized_cuepoint_config ou creator_cuepoint_config não podem ser especificados se enabled for falso.
  • Somente um de yt_optimized_cuepoint_config e creator_cuepoint_config pode ser especificado se enabled for verdadeiro.
invalidValue (400) invalidCreatorCuepointConfig É necessário especificar schedule_strategy e repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs O valor da propriedade repeat_interval_secs precisa estar no intervalo [360, 3600].
invalidValue (400) invalidPauseAdsUntil O recurso liveBroadcast contém um valor inválido para a propriedade monetizationDetails.cuepointSchedule.pauseAdsUntil. Esse problema pode ocorrer pelos seguintes motivos:
  • O valor monetizationDetails.cuepointSchedule.pauseAdsUntil não está especificado no formato ISO 8601 (AAAA-MM-DDThh:mm:ss.sZ).
  • O valor monetizationDetails.cuepointSchedule.pauseAdsUntil não está no futuro.
  • O valor monetizationDetails.cuepointSchedule.pauseAdsUntil está a mais de 10 minutos do horário atual.
invalidValue (400) invalidPrivacyStatus O recurso liveBroadcast não especificou um status de privacidade válido. Consulte os valores válidos privacyStatus.
invalidValue (400) invalidProjection O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.projection. A projeção de uma transmissão persistente não pode ser definida como 360.
invalidValue (400) invalidScheduledEndTime O recurso liveBroadcast continha um valor inválido para a propriedade snippet.scheduledEndTime. O horário de término programado precisa seguir o horário de início programado.
invalidValue (400) invalidScheduledStartTime O recurso liveBroadcast continha um valor inválido para a propriedade snippet.scheduledStartTime. O horário de início programado precisa estar no futuro.
invalidValue (400) invalidTitle O recurso liveBroadcast não especificou um valor válido para a propriedade snippet.title. snippet.title precisa ter entre 1 e 100 caracteres.
notFound (404) liveBroadcastNotFound A propriedade id especificada no recurso liveBroadcast não identificou uma transmissão.
preconditionFailed (412) videoNotEligibleForAdsMonetization O vídeo não está qualificado para a monetização de anúncios. Isso pode ocorrer se o canal não estiver qualificado para a monetização.
required (400) broadcastStreamDelayMsRequired O recurso liveBroadcast não especificou a propriedade contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired O recurso liveBroadcast não especificou a propriedade contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired O recurso liveBroadcast precisa incluir e especificar um valor para a propriedade id.
required (400) scheduledEndTimeRequired O recurso liveBroadcast não especificou a propriedade snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired O recurso liveBroadcast não especificou a propriedade snippet.scheduledStartTime.

Confira!

Use o APIs Explorer para chamar essa API e conferir a solicitação e a resposta da API.