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

Esta solicitação requer autorização com pelo menos um dos escopos a seguir. 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 e
O parâmetro part tem duas finalidades nessa operação. Ele identifica as propriedades que a operação de gravação definirá, bem como 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. Dessa forma, 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 pelo corpo da solicitação. Se o corpo da solicitação não especificar um valor, a configuração de privacidade existente será removida e a transmissão será revertida para a configuração de privacidade padrão.
Parâmetros opcionais
onBehalfOfContentOwner string e
Esse parâmetro só pode ser usado em uma solicitação autorizada adequadamente.
Observação:este 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 e
Esse parâmetro só pode ser usado em uma solicitação autorizada adequadamente.
Observação:este 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 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.

Esse parâmetro é destinado a parceiros de conteúdo do YouTube que têm e gerenciam vários canais do YouTube 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 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
forbidden (403) closedCaptionsTypeModificationNotAllowed O valor 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 Não é possível modificar o campo pauseAdsUntil. Esse erro pode ocorrer pelos seguintes motivos:
  • O campo monetizationDetails.cuepointSchedule.enabled não está definido como true. Esse campo só pode ser definido no 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 Como implementar a autenticação OAuth2.
insufficientPermissions liveStreamingNotEnabled O usuário que autorizou a solicitação não está habilitado para transmitir vídeo 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 para uma transmissão persistente.
invalidValue (400) invalidAutoStop O recurso liveBroadcast continha um valor inválido para a propriedade contentDetails.enableAutoStop. Você não é possível modificar a configuração enableAutoStop para 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 o atributo propriedade monetizationDetails.cuepointSchedule.pauseAdsUntil. Esse erro pode ocorrer pelos seguintes motivos:
  • O valor monetizationDetails.cuepointSchedule.pauseAdsUntil não é 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. Confira os valores válidos do 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 ser 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 o APIs Explorer para chamar essa API e ver a solicitação e a resposta da API.