LiveBroadcasts: update

Atualiza uma transmissão. Por exemplo, é possível 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

Esta solicitação requer autorização com pelo menos um dos seguintes escopos. Para ler mais sobre autenticação e autorização, consulte Como implementar a autorização 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 compatíveis com essa consulta. Todos os parâmetros listados são os parâmetros de consulta.

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

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

Esse método substitui os valores atuais de todas as propriedades mutáveis contidas em qualquer parte especificada pelo valor do parâmetro. Por exemplo, o status de privacidade de uma transmissão é definido na parte status. Portanto, se a solicitação estiver atualizando uma transmissão privada 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 o 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 voltar para a configuração de privacidade padrão.
Parâmetros opcionais
onBehalfOfContentOwner string
Esse parâmetro só pode ser usado em uma solicitação autorizada corretamente.
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) do YouTube que está agindo em nome do proprietário do conteúdo especificado no valor do 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 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 para o 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 com esse parâmetro. 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 de conteúdo especificado pelo parâmetro onBehalfOfContentOwner.

Esse parâmetro é destinado a parceiros de conteúdo do YouTube que são proprietários e gerenciam muitos canais diferentes. Ele permite que os proprietários do conteúdo autentiquem uma vez e executem 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.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

    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 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 mensagem de erro.

Tipo de erro Detalhe do erro Descrição
forbidden (403) closedCaptionsTypeModificationNotAllowed O valor de contentDetails.closedCaptionsType só pode ser modificado quando a transmissão está no status created ou ready.
forbidden (403) enabledModificationNotAllowed O campo enabled é somente leitura.
forbidden (403) scheduleStrategyModificationNotAllowed O campo scheduleStrategy é somente leitura.
forbidden (403) repeatIntervalSecsModificationNotAllowed O campo repeatIntervalSecs é somente leitura.
forbidden (403) pauseAdsUntilModificationNotAllowed O campo pauseAdsUntil não pode ser modificado. Esse erro 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 de 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 de contentDetails.enableClosedCaptions só pode ser modificado quando o status da transmissão é created ou ready.
forbidden (403) enableDvrModificationNotAllowed O valor de contentDetails.enableDvr só pode ser modificado quando o status da transmissão é created ou ready.
forbidden (403) enableMonitorStreamModificationNotAllowed O valor de 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 Como implementar a autenticação OAuth2.
insufficientPermissions liveStreamingNotEnabled O usuário que autorizou a solicitação não tem permissão para transmitir vídeos ao vivo no YouTube. Saiba mais em https://www.youtube.com/features.
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 ter 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 esta 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 reenvie a solicitação.
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) invalidPauseAdsUntil O recurso liveBroadcast contém um valor inválido para a propriedade monetizationDetails.cuepointSchedule.pauseAdsUntil. Esse erro 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 de monetizationDetails.cuepointSchedule.pauseAdsUntil não está no futuro.
  • O valor de monetizationDetails.cuepointSchedule.pauseAdsUntil está 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 de 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.
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 APIs Explorer para chamar essa API e conferir a solicitação e a resposta dela.