Histórico de revisões

Esta página lista as alterações da API de dados do YouTube (v3) e as atualizações da documentação. Inscreva-se neste log de mudanças. Fazer inscrição

13 de março de 2024

Observação:este é um anúncio de descontinuação.

Esta atualização contém as seguintes alterações:

O parâmetro sync dos métodos captions.insert e captions.update foi descontinuado. O YouTube não vai mais oferecer suporte ao parâmetro a partir de 12 de abril de 2024.

Como resultado dessa mudança, os desenvolvedores precisam incluir informações de tempo ao inserir ou atualizar as faixas de legenda. Caso contrário, o upload vai falhar.

12 de março de 2024

Esta atualização contém as seguintes alterações:

A documentação do recurso captions foi atualizada para informar que o tamanho máximo permitido para o campo snippet.name é de 150 caracteres. A API vai retornar um erro nameTooLong se o nome da faixa for maior que isso.

7 de março de 2024

Observação:este é um anúncio de descontinuação.

O uso da propriedade de recurso channel brandingSettings.channel.moderateComments foi descontinuado. O YouTube não dará mais suporte ao parâmetro a partir de 7 de março de 2024.

31 de janeiro de 2024

Esta atualização contém as seguintes alterações:

O novo parâmetro forHandle do método channels.list permite recuperar informações sobre um canal especificando o identificador do YouTube.

9 de novembro de 2023

Todas as referências ao recurso videoId em Comments foram removidas porque o recurso videoId não está sendo retornado usando uma chamada de API.

12 de setembro de 2023

Observação:este é um anúncio de descontinuação.

O método comments.markAsSpam foi descontinuado há vários anos. Esse método já não é mais compatível com o YouTube e não é mais aceito pela API.

Um aviso de descontinuação foi adicionado a todos os documentos que fazem referência ao método comments.markAsSpam.

22 de agosto de 2023

O método search.list agora é compatível com o parâmetro videoPaidProductPlacement. Este parâmetro permite que você filtre os resultados da pesquisa para incluir somente vídeos que o criador de conteúdo determinou como tendo uma promoção paga.

18 de agosto de 2023

A definição de liveStreamingDetails.concurrentViewers do recurso video foi atualizada para indicar que as contagens de espectadores simultâneos que a API YouTube Data retorna podem ser diferentes das contagens de espectadores simultâneos processados e sem spam disponíveis no YouTube Analytics. A Central de Ajuda do YouTube tem mais informações sobre as métricas de transmissões ao vivo.

7 de agosto de 2023

Conforme anunciado em 12 de junho de 2023, o parâmetro relatedToVideoId do método search.list foi descontinuado. Esse parâmetro não é mais suportado, e as referências a ele foram removidas da documentação da API.

28 de junho de 2023

O método thumbnails.set agora suporta o erro uploadRateLimitExceeded, que indica que o canal enviou muitas miniaturas nas últimas 24 horas e deve tentar novamente mais tarde.

12 de junho de 2023

Observação:este é um anúncio de descontinuação.

O uso do parâmetro relatedToVideoId do método search.list foi descontinuado. O YouTube não vai mais oferecer suporte ao parâmetro a partir de 7 de agosto de 2023.

No momento, um aviso de descontinuação foi adicionado à documentação do método search.list. Esse parâmetro será totalmente removido da documentação do search.list a partir de 7 de agosto de 2023.

Além disso, um exemplo que demonstra como recuperar vídeos relacionados foi removido do Guia de implementação da API.

22 de agosto de 2022

Correção das anotações de tipo nos campos video.statistics para string de longo não assinado.

5 de agosto de 2022

O YouTube mudou a forma como os IDs de legenda são gerados e, como parte dessa mudança, está atribuindo novos IDs a todas as faixas de legenda. Essa mudança pode ser incompatível com versões anteriores para aplicativos que armazenam valores caption_id, embora não afete aplicativos que não armazenam valores caption_id.

Entre hoje e 1o de dezembro de 2022, os métodos captions.list, captions.update, captions.download e captions.delete vão ser compatíveis com os IDs de faixa de legenda antigos e novos. No entanto, a partir de 1o de dezembro de 2022, o YouTube não vai mais oferecer suporte aos IDs de faixa de legenda antigos. Nesse momento, chamar qualquer um desses métodos de API com um ID de faixa de legenda antigo resultará em um erro captionNotFound.

Como preparação para essa mudança, substitua totalmente todos os dados das faixas de legendas armazenados entre hoje e 1o de dezembro de 2022. Isso significa que, para qualquer vídeo em que você armazene dados de faixa de legenda, é necessário excluir os dados armazenados no momento e chamar o método captions.list para recuperar o conjunto atual de faixas de legenda para o vídeo e armazenar os dados na resposta da API normalmente.

12 de julho de 2022

Os Termos de Serviço dos serviços de APIs do YouTube foram atualizados. Consulte os Termos de Serviço dos serviços da API do YouTube: histórico de revisões para mais informações.

27 de abril de 2022

A descrição do método videos.insert foi atualizada para informar que o tamanho máximo de arquivo para vídeos enviados aumentou de 128 GB para 256 GB.

8 de abril de 2022

As definições de parâmetro myRecentSubscribers e mySubscribers do método subscriptions.list foram atualizadas para indicar que o número máximo de assinantes retornados pela API pode ser limitado. Essa mudança representa uma correção da documentação, não uma mudança no comportamento da API.

15 de dezembro de 2021

Conforme anunciado em 18 de novembro de 2021, além das mudanças para tornar a contagem de "Não gostei" privada em toda a plataforma do YouTube, a propriedade statistics.dislikeCount do recurso video agora é particular.

Saiba mais sobre essa mudança no blog oficial do YouTube.

18 de novembro de 2021

Junto com as mudanças para tornar a contagem de marcações "Não gostei" particular em toda a plataforma do YouTube, a propriedade statistics.dislikeCount do recurso video se tornará privada a partir de 13 de dezembro de 2021. Isso significa que a propriedade só será incluída em uma resposta de API do endpoint videos.list se a solicitação de API tiver sido autenticada pelo proprietário do vídeo.

O endpoint videos.rate não é afetado por essa mudança.

Os desenvolvedores que não mostram a contagem de marcações "Não gostei" publicamente e ainda precisam dessa contagem para o cliente da API podem se inscrever para serem colocados em uma lista de permissões para uma isenção. Para solicitar uma isenção, preencha este formulário de inscrição.

Saiba mais sobre essa mudança no blog oficial do YouTube.

2 de julho de 2021

Observação:este é um anúncio de descontinuação.

O endpoint commentThreads.update foi descontinuado e não tem mais suporte. Esse endpoint duplicou a funcionalidade disponível em outros endpoints de API. Em vez disso, você pode chamar comments.update

e, se o código exigir um recurso commentThreads, faça uma chamada secundária para o método commentThreads.list.

1º de julho de 2021

Todos os desenvolvedores que usam os serviços da API do YouTube precisam concluir uma Auditoria de conformidade com a API para receber mais do que a alocação de cota padrão de 10 mil unidades. Até o momento, o processo de auditoria de conformidade e as solicitações de alocações adicionais de unidades de cota foram conduzidos por desenvolvedores que preencheram e enviaram o Formulário de auditoria e extensão de cota dos serviços de API do YouTube.

Para esclarecer esses processos e atender melhor às necessidades dos desenvolvedores que usam nossos Serviços de API, adicionamos três novos formulários e um guia para o preenchimento deles:

  • Formulário de solicitações de desenvolvedores auditados: os desenvolvedores que já foram aprovados em uma auditoria de compliance da API podem preencher e enviar este formulário mais curto para solicitar uma extensão de cota alocada.
  • Formulário de contestação: os desenvolvedores que tiveram projetos de API reprovados em uma auditoria de compliance ou sem aumento de unidade de cota podem preencher e enviar este formulário.
  • Formulário de mudança de controle: os desenvolvedores ou qualquer parte que opera um cliente de API em nome de um desenvolvedor que tenha uma mudança de controle (por exemplo, em função de compra ou venda de ações, fusão ou outra forma de transação corporativa) associada a um projeto de API precisam preencher e enviar este formulário. Isso permite que a equipe de API do YouTube atualize nossos registros, faça uma auditoria da conformidade com o caso de uso do novo projeto de API e valide a alocação de cota atual do desenvolvedor.

Cada novo formulário informa o uso pretendido da API do YouTube para que possamos ajudar você da melhor maneira possível.

Mais detalhes estão disponíveis no novo guia de auditorias de compliance da API.

12 de maio de 2021

Observação:este é um anúncio de descontinuação.

Esta atualização abrange as seguintes mudanças na API:

  • O uso da propriedade contentDetails.relatedPlaylists.favorites do recurso channel foi descontinuado. A funcionalidade de vídeos favoritos foi suspensa há vários anos, conforme observado na entrada do histórico de revisões de 28 de abril de 2016.

    Antes dessa atualização, a API ainda criava uma nova playlist se um cliente da API tentasse adicionar um vídeo a uma playlist de favoritos inexistente. Nesse caso, a playlist não será criada, e a API retornará um erro. Todas as tentativas de modificar as playlists favoritas adicionando, modificando ou excluindo itens também foram descontinuadas de acordo com os anúncios anteriores e podem começar a retornar erros a qualquer momento.

  • As propriedades do recurso channel a seguir foram descontinuadas. Essas propriedades já não são compatíveis com a interface do YouTube Studio e no YouTube. Como resultado, elas também não são mais suportadas pela API.

    • brandingSettings.channel.defaultTab
    • brandingSettings.channel.featuredChannelsTitle
    • brandingSettings.channel.featuredChannelsUrls[]
    • brandingSettings.channel.profileColor
    • brandingSettings.channel.showBrowseView
    • brandingSettings.channel.showRelatedChannels

    Todas as propriedades foram removidas da representação de recursos channel, e as definições delas foram removidas da lista de propriedades do recurso. Além disso, os erros associados a essas propriedades foram removidos da documentação específica do método.

  • As propriedades do recurso channelSection a seguir foram descontinuadas. Essas propriedades já não são compatíveis com a interface do YouTube Studio e no YouTube. Como resultado, elas também não são mais suportadas pela API.

    • snippet.style
    • snippet.defaultLanguage
    • snippet.localized.title
    • localizations
    • localizations.(key)
    • localizations.(key).title
    • targeting
    • targeting.languages[]
    • targeting.regions[]
    • targeting.countries[]

    Em conjunto com essa mudança, o parâmetro hl do método channelSection.list também foi descontinuado, já que os recursos a que ele aceita não são compatíveis.

    Todas as propriedades foram removidas da representação de recursos channelSection, e as definições delas foram removidas da lista de propriedades do recurso. Além disso, os erros associados a essas propriedades foram removidos da documentação específica do método.

  • Para a propriedade snippet.type do recurso channelSection, os valores a seguir foram descontinuados. Esses valores já não são mais compatíveis com as páginas de canais do YouTube e, como resultado, também não são mais aceitos pela API.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • O uso da propriedade snippet.tags[] do recurso playlist foi descontinuado. Essa propriedade já não é mais compatível com o YouTube e, como resultado, não é mais suportada pela API.

9 de fevereiro de 2021

O recurso playlistItem é compatível com duas novas propriedades:

28 de janeiro de 2021

Esta atualização contém as seguintes alterações:

  • Os métodos playlistItems.delete, playlistItems.insert, playlistItems.list, playlistItems.update, playlists.delete, playlists.list e playlists.update aceitam um novo erro playlistOperationUnsupported. O erro ocorre quando uma solicitação tenta executar uma operação que não é permitida para uma playlist específica. Por exemplo, um usuário não pode excluir um vídeo da playlist de vídeos enviados ou a própria playlist.

    Em todos os casos, esse erro retorna um código de resposta HTTP 400 (solicitação inválida).

  • Os erros watchHistoryNotAccessible e watchLaterNotAccessible do método playlistItems.list foram removidos da documentação. Embora o histórico de exibição e as listas "Assistir mais tarde" dos usuários não possam ser acessados pela API, esses erros específicos não são retornados por ela.

15 de outubro de 2020

Duas novas seções foram adicionadas às Políticas para desenvolvedores:

  • A nova Seção III.E.4.i disponibiliza mais informações sobre os dados coletados e enviados pelo player incorporado do YouTube. Você é responsável por todos os dados do usuário que enviar por qualquer player incorporado do YouTube antes da interação do usuário com o player para indicar a intenção de reprodução. Você pode limitar os dados compartilhados com o YouTube antes que um usuário interaja com o player. Para isso, defina a reprodução automática como falsa.
  • A nova Seção III.E.4.j está relacionada à verificação do status de conteúdo para crianças (MFK, na sigla em inglês) de conteúdo antes de incorporá-lo aos seus sites e apps. Você é responsável por saber quando os vídeos incorporados ao seu cliente de API são destinados a crianças e por tratar adequadamente os dados coletados do player incorporado. Por isso, você precisa verificar o status do conteúdo usando o serviço da API YouTube Data antes de incorporá-lo ao seu cliente da API por meio de qualquer player incorporado do YouTube.

O novo guia Como encontrar o status de um vídeo MadeForKids explica como procurar o status de conteúdo para crianças de um vídeo usando o serviço da API YouTube Data.

Em conjunto com essas mudanças, um lembrete foi adicionado à documentação dos parâmetros do player incorporado para explicar que, se você ativar a reprodução automática, a reprodução ocorrerá sem nenhuma interação do usuário com o player. Portanto, a coleta e o compartilhamento de dados de reprodução ocorrem após o carregamento da página.

8 de outubro de 2020

Esta atualização abrange três pequenas mudanças relacionadas ao recurso channel:

  • O objeto snippet.thumbnails, que identifica as imagens em miniatura de um canal, pode estar vazio para canais recém-criados e pode levar até um dia para ser preenchido.
  • A propriedade statistics.videoCount reflete apenas a contagem dos vídeos públicos do canal, mesmo para os proprietários. Esse comportamento é consistente com as contagens mostradas no site do YouTube.
  • As palavras-chave de canal, identificadas na propriedade brandingSettings.channel.keywords, poderão ser truncadas se excederem o comprimento máximo permitido de 500 caracteres ou se contiverem aspas sem escape ("). O limite de 500 caracteres não é um limite por palavra-chave, mas um limite no comprimento total de todas as palavras-chave. Esse comportamento é consistente com o do site do YouTube.

9 de setembro de 2020

Observação:este é um anúncio de descontinuação.

Esta atualização abrange as seguintes mudanças na API. Todas as mudanças entrarão em vigor a partir de 9 de setembro de 2020, a data deste anúncio. Com isso em mente, os desenvolvedores não precisam mais confiar em nenhum dos recursos da API listados abaixo.

  • Os seguintes recursos, métodos, parâmetros e propriedades da API foram descontinuados imediatamente e vão deixar de funcionar a partir da data deste anúncio:
    • As seguintes propriedades do recurso channel:
      • A propriedade statistics.commentCount
      • O objeto brandingSettings.image e todas as propriedades filhas dele
      • A lista brandingSettings.hints e todas as propriedades filhas dela
    • O parâmetro de filtro categoryId do método channels.list
    • O recurso guideCategories e o método guideCategories.list
  • As respostas da API para o método channels.list não conterão mais a propriedade prevPageToken se a solicitação de API definir o parâmetro managedByMe como true. Essa mudança não afeta a propriedade prevPageToken de outras solicitações channels.list nem a propriedade nextPageToken de nenhuma solicitação.
  • As propriedades contentDetails.relatedPlaylists.watchLater e contentDetails.relatedPlaylists.watchHistory do recurso channel foram anunciadas como descontinuadas em 11 de agosto de 2016. O suporte dos métodos playlistItems.insert e playlistItems.delete para essas playlists também foi totalmente descontinuado, e as duas propriedades foram removidas da documentação.
  • O parâmetro mySubscribers do método channels.list, anunciado como descontinuado em 30 de julho de 2013, foi removido da documentação. Use o método subscriptions.list e o parâmetro mySubscribers para recuperar uma lista de inscritos no canal do usuário autenticado.
  • O objeto invideoPromotion do recurso channel e todas as propriedades filhas dele, anunciadas como obsoletas em 27 de novembro de 2017, foram removidas da documentação.

29 de julho de 2020

Simplificamos nosso processo de cobrança de cotas de solicitações de API removendo o custo adicional associado ao parâmetro part. Com efeito imediato, cobraremos apenas o custo base do método chamado. Veja mais informações sobre a cota simplificada aqui.

O efeito dessa mudança é que a maioria das chamadas de API terá um custo de cota ligeiramente menor, enquanto algumas chamadas de API ainda terão o mesmo custo. Essa mudança não aumenta o custo das chamadas de API. No geral, o impacto provável é que a cota alocada, que pode ser vista no console do Google Cloud, será um pouco maior.

Recomendamos que todos os desenvolvedores concluam uma auditoria de conformidade dos projetos para garantir acesso contínuo aos serviços da API YouTube.

Esta entrada do histórico de revisões foi publicada originalmente em 20 de julho de 2020.

28 de julho de 2020

Todos os vídeos enviados pelo endpoint videos.insert de projetos de API não verificados criados após 28 de julho de 2020 estarão restritos ao modo de visualização particular. Para remover essa restrição, cada projeto precisa passar por uma auditoria para verificar a conformidade com os Termos de Serviço.

Os criadores de conteúdo que usarem um cliente de API não verificado para enviar vídeos vão receber um e-mail explicando que o vídeo está bloqueado como privado e que é possível evitar a restrição usando um cliente oficial ou auditado.

No momento, os projetos de API criados antes de 28 de julho de 2020 não serão afetados por essa mudança. No entanto, recomendamos que todos os desenvolvedores realizem uma auditoria de conformidade dos projetos para garantir acesso contínuo aos serviços da API YouTube.

21 de julho de 2020

[Atualizado em 28 de julho de 2020.] A atualização da documentação mencionada nesta entrada do histórico de revisões foi republicada em 28 de julho de 2020.

Ontem, publicamos uma atualização na documentação relacionada ao nosso processo de cobrança de cotas. No entanto, devido a circunstâncias imprevistas, a alteração da cota ainda não está em vigor. Como resultado, a documentação foi revertida para fins de precisão. Para evitar confusão, a entrada do histórico de revisões que explica a alteração foi removida e será republicada em breve.

7 de julho de 2020

Observação:este é um anúncio de descontinuação.

Os parâmetros autoLevels e stabilize do método videos.insert foram descontinuados, e ambos os parâmetros foram removidos da documentação. Os valores delas são ignorados e não afetam a forma como os vídeos recém-enviados são processados.

15 de junho de 2020

O novo guia Como obedecer às Políticas para desenvolvedores do YouTube fornece orientações e exemplos para ajudar você a garantir que os clientes da API sigam partes específicas dos Termos e Políticas (TOS da API) dos serviços de API do YouTube.

Essa orientação oferece insights sobre como o YouTube aplica alguns aspectos dos TOS da API, mas não substitui os documentos atuais. Neste guia, abordamos algumas das perguntas mais comuns que os desenvolvedores fazem durante auditorias de conformidade da API. Esperamos que ele simplifique o processo de desenvolvimento de recursos para ajudar você a entender como interpretamos e aplicamos nossas políticas.

4 de junho de 2020

Observação:esta é uma atualização de um anúncio de descontinuação anterior.

O recurso de boletim de canais foi totalmente descontinuado. Essa mudança foi anunciada inicialmente em 17 de abril de 2020 e agora está em vigor. Como resultado, o método activities.insert não é mais compatível, e o método activities.list não retorna mais boletins de canais. Para mais detalhes, consulte a Central de Ajuda do YouTube.

17 de abril de 2020

Observação:este é um anúncio de descontinuação.

O YouTube está descontinuando o recurso de boletim do canal. Como resultado, o método activities.insert será suspenso, e o método activities.list deixará de retornar boletins de canais. Essas mudanças entrarão em vigor na API a partir de 18 de maio de 2020. Para mais detalhes, consulte a Central de Ajuda do YouTube.

31 de março de 2020

Esta atualização contém as seguintes alterações:

  • Novos recursos e métodos

    • O novo recurso member representa um membro de um canal do YouTube. Um membro oferece apoio monetário recorrente ao criador e recebe benefícios especiais. Por exemplo, os membros podem conversar quando o criador de conteúdo ativar o modo exclusivo para membros no chat.

      Este recurso substitui o recurso sponsor, que é documentado como parte da API YouTube Live Streaming. O uso do recurso sponsor foi descontinuado, e os clientes da API precisam atualizar as chamadas para o método sponsors.list para usar o método members.list.

    • O novo recurso membershipsLevel identifica um nível de preço gerenciado pelo criador que autorizou a solicitação de API. O método membershipsLevels.list recupera uma lista de todos os níveis de assinatura do criador.

10 de janeiro de 2020

Agora, a API é compatível com a capacidade de identificar conteúdo feito para crianças, o que o YouTube chama de "conteúdo para crianças". Saiba mais sobre conteúdo para crianças na Central de Ajuda do YouTube.

Os recursos channel e video oferecem suporte a duas novas propriedades para permitir que criadores e espectadores identifiquem conteúdo para crianças:

  • A propriedade selfDeclaredMadeForKids permite que os criadores de conteúdo especifiquem se um canal ou vídeo tem conteúdo para crianças.

    Para canais, essa propriedade pode ser definida ao chamar o método channels.update. Para vídeos, essa propriedade pode ser definida ao chamar os métodos videos.insert ou videos.update.

    Essa propriedade só é incluída em respostas da API que contêm recursos channel ou video se o proprietário do canal autorizar a solicitação de API.
  • A propriedade madeForKids permite que qualquer usuário recupere o status de "conteúdo para crianças" de um canal ou vídeo. Por exemplo, o status pode ser determinado com base no valor da propriedade selfDeclaredMadeForKids. Acesse a Central de Ajuda do YouTube para mais informações sobre como configurar o público do seu canal, vídeos ou transmissões.

Também atualizamos os Termos de Serviço e as políticas de desenvolvedor dos serviços da API YouTube. Consulte os Termos de Serviço dos serviços da API do YouTube: histórico de revisões para mais informações. As mudanças nos Termos de Serviço e nas políticas de desenvolvedor dos serviços da API YouTube entrarão em vigor em 10 de janeiro de 2020, horário do Pacífico.

10 de setembro de 2019

A documentação de referência da API foi atualizada para refletir uma mudança na maneira como as contagens de inscritos são informadas no YouTube e, consequentemente, nas respostas da API. Como resultado da mudança, as contagens de inscritos retornadas pelo serviço da API YouTube Data são arredondadas para três valores significativos em casos com mais de 1.000 inscritos. Essa mudança afeta a propriedade statistics.subscriberCount do recurso channel.

Observação:essa mudança afeta esse valor de propriedade mesmo nos casos em que um usuário envia uma solicitação autorizada de dados sobre o próprio canal. Os proprietários de canais ainda podem conferir a contagem exata no YouTube Studio.

Por exemplo, se um canal tem 123.456 inscritos, a propriedade statistics.subscriberCount terá o valor 123000. A tabela abaixo mostra exemplos de como as contagens de inscritos são arredondadas nas respostas da API e abreviadas em outras interfaces de usuário do YouTube visíveis publicamente:

Exemplo de contagem de inscritos API YouTube Data Interfaces do YouTube visíveis publicamente
1,234 1230 1,23 mil
12.345 12300 12,3 mil
123.456 123000 123 mil
1.234.567 1230000 1,23 mi
12.345.678 12300000 12,3 mi
123,456,789 123000000 123 mi

4 de abril de 2019

Esta atualização contém as seguintes alterações:

  • A documentação de referência da API foi atualizada para explicar melhor os casos de uso comuns de cada método e fornecer exemplos de código dinâmicos e de alta qualidade por meio do widget do APIs Explorer. Consulte a documentação do método channels.list para ver um exemplo. Agora, há dois novos elementos nas páginas que descrevem os métodos da API:

    • O widget do APIs Explorer permite selecionar escopos de autorização, inserir exemplos de valores de propriedades e parâmetros e, em seguida, enviar solicitações de API e ver as respostas reais da API. O widget também oferece uma visualização em tela cheia que mostra exemplos completos de código, que são atualizados dinamicamente para usar os escopos e valores inseridos.

    • A seção Casos de uso comuns descreve um ou mais casos de uso comuns do método explicado na página. Por exemplo, você pode chamar o método channels.list para recuperar dados sobre um canal específico ou sobre o canal do usuário atual.

      É possível usar links nessa seção para preencher o APIs Explorer com exemplos de valores para seu caso de uso ou para abrir a ferramenta em tela cheia com os valores já preenchidos. O objetivo dessas mudanças é facilitar a visualização de exemplos de código diretamente aplicáveis ao caso de uso que você está tentando implementar no seu aplicativo.

    No momento, amostras de código são compatíveis com Java, JavaScript, PHP, Python e curl.

  • A ferramenta de exemplos de código também foi atualizada com uma nova interface que oferece os mesmos recursos descritos acima. Com essa ferramenta, é possível explorar casos de uso de diferentes métodos, carregar valores no APIs Explorer e abrir o APIs Explorer em tela cheia para ver exemplos de código em Java, JavaScript, PHP e Python.

    Em conjunto com essa mudança, as páginas que listavam os exemplos de código disponíveis para Java, JavaScript, PHP e Python foram removidas.

  • Os guias de início rápido para Java, JavaScript, PHP e Python foram atualizados. Os guias revisados explicam como executar um exemplo com uma chave de API e outro exemplo com um ID de cliente OAuth 2.0 usando exemplos de código do APIs Explorer.

As mudanças descritas acima substituem uma ferramenta interativa que foi adicionada à documentação da API em 2017.

9 de julho de 2018

Esta atualização contém as seguintes alterações:

  • A definição da propriedade snippet.thumbnails do recurso channel foi atualizada para mostrar que, ao exibir miniaturas no seu aplicativo, o código precisa usar os URLs de imagem exatamente como são retornados nas respostas da API Por exemplo, seu aplicativo não pode usar o domínio http em vez do domínio https em um URL retornado em uma resposta da API.

    A partir de julho de 2018, os URLs de miniaturas de canais só estarão disponíveis no domínio https, que é como os URLs aparecem nas respostas da API. Após esse período, o aplicativo poderá mostrar imagens corrompidas se ele tentar carregar imagens do YouTube do domínio http.

  • Observação:este é um anúncio de descontinuação.

    O uso da propriedade recordingDetails.location.altitude do recurso video foi descontinuado. Não há garantia de que os vídeos retornem valores dessa propriedade. Da mesma forma, mesmo se as solicitações da API tentarem definir um valor para essa propriedade, é possível que os dados recebidos não sejam armazenados.

22 de junho de 2018

O Guia de implementação, anteriormente conhecido como Guia de implementação e migração, foi atualizado para remover instruções de migração da API v2 para a API v3. Além disso, as instruções também foram removidas para recursos que foram descontinuados na API v3, como vídeos favoritos.

27 de novembro de 2017

Esta atualização contém as seguintes alterações:

  • Observação:este é um anúncio de descontinuação.

    O YouTube está removendo o suporte para os recursos Vídeo em destaque e Site em destaque, que são suportados na API por meio do objeto invideoPromotion do recurso channel. Como resultado, esse objeto, incluindo todas as suas propriedades filhas, está sendo descontinuado.

    Ainda é possível recuperar e definir dados do invideoPromotion até 14 de dezembro de 2017. Depois dessa data:

    • As tentativas de recuperar a parte do invideoPromotion ao chamar channels.list vão retornar um invideoPromotion vazio ou não retornar nenhum dado do invideoPromotion.
    • As tentativas de atualizar os dados do invideoPromotion ao chamar channels.update vão retornar uma resposta bem-sucedida até pelo menos 27 de maio de 2018, mas serão tratadas como inativas, o que significa que não vão realizar uma atualização de fato.

    Depois de 27 de maio de 2018, é possível que essas solicitações retornem mensagens de erro indicando, por exemplo, que invalidPromotion é uma parte inválida.

16 de novembro de 2017

Esta atualização contém as seguintes alterações:

  • A ferramenta de snippet de código interativo agora é compatível com exemplos de código em Node.js. As amostras também podem ser vistas na documentação de quase todos os métodos de API, como channels.list.

    As amostras personalizáveis são projetadas para oferecer um ponto de partida específico do caso de uso para um aplicativo Node.js. A funcionalidade é semelhante ao código no guia de início rápido do Node.js. No entanto, os exemplos contêm algumas funções utilitárias que não aparecem no guia de início rápido:

    • A função removeEmptyParameters recebe uma lista de pares de chave-valor correspondentes aos parâmetros de solicitação de API e remove os parâmetros que não têm valores.
    • A função createResource usa uma lista de pares de chave-valor correspondentes às propriedades em um recurso da API. Em seguida, ele converte as propriedades em um objeto JSON que pode ser usado nas operações insert e update. O exemplo abaixo mostra um conjunto de nomes e valores de propriedades e o objeto JSON que o código criaria para elas:
      # Key-value pairs:
      {'id': 'ABC123',
       'snippet.title': 'Resource title',
       'snippet.description': 'Resource description',
       'status.privacyStatus': 'private'}
      
      # JSON object:
      {
       'id': 'ABC123',
       'snippet': {
         'title': 'Resource title',
         'description': 'Resource description',
       },
       'status': {
         'privacyStatus': 'private'
       }
      }

    Todas essas amostras foram projetadas para serem transferidas por download e executadas localmente. Para mais informações, consulte os pré-requisitos para executar amostras de código completas localmente nas instruções da ferramenta de snippet de código.

25 de outubro de 2017

Esta atualização contém as seguintes alterações:

  • Os exemplos de código Python na ferramenta de snippet de código interativo foram atualizados para usar as bibliotecas google-auth e google-auth-oauthlib, em vez da oauth2client, que foi descontinuada.

    Além dessa mudança, a ferramenta agora fornece exemplos de código completos para aplicativos Python instalados e aplicativos de servidor da Web Python, que usam fluxos de autorização ligeiramente diferentes. Para ver os exemplos completos (e essa mudança):

    1. Acesse a ferramenta de snippet de código interativo ou a documentação de qualquer método de API, como channels.list.
    2. Clique na guia Python acima dos exemplos de código.
    3. Clique no botão acima das guias para alternar da visualização de um snippet para uma amostra completa.
    4. A guia vai mostrar um exemplo de código completo que usa o fluxo de autorização do InstalledAppFlow. A descrição acima do exemplo explica isso e também vincula a uma amostra de um aplicativo de servidor da Web.
    5. Clique no link e mude para o exemplo do servidor da Web. Esse exemplo usa o framework de aplicativos da Web Flask e um fluxo de autorização diferente.

    Todas essas amostras foram projetadas para serem transferidas por download e executadas localmente. Se você quiser executar as amostras, consulte as instruções da ferramenta de snippet de código para executar amostras de código completas localmente.

29 de agosto de 2017

Esta atualização contém as seguintes alterações:

  • A definição do parâmetro forContentOwner do método search.list foi atualizada para mostrar que, se esse parâmetro for definido como true, o parâmetro type precisará ser definido como video.
  • A definição do parâmetro regionCode do método search.list foi atualizada para esclarecer que o parâmetro restringe os resultados da pesquisa a vídeos que podem ser assistidos na região especificada.
  • O YouTube atualizou os logotipos e ícones da marca. É possível fazer o download dos novos logotipos "desenvolvidos com o YouTube" na página de diretrizes da promoção de marca. Outros logotipos e ícones novos também são mostrados nessa página e podem ser salvos no site da marca YouTube.

24 de julho de 2017

Esta atualização contém as seguintes alterações:

  • Um novo guia de início rápido da API YouTube Data está disponível para iOS. O guia explica como usar a API de dados do YouTube em um aplicativo iOS simples escrito em Objective-C ou Swift.
  • A ferramenta de snippet de código interativo para a API YouTube Data agora inclui uma documentação que explica alguns dos recursos da ferramenta:
    • Execução de solicitações de API
    • Alternar entre snippets de código e amostras completas
    • Como usar funções boilerplate
    • Como carregar recursos atuais (para métodos de atualização)

    Observação:a ferramenta também está incorporada na documentação de referência da API para métodos de API (exemplo).

1º de junho de 2017

Esta atualização contém as seguintes alterações:

17 de maio de 2017

Esta atualização contém as seguintes alterações:

  • A documentação de referência da API foi atualizada para tornar os snippets de código mais onipresentes e interativos. As páginas que explicam os métodos da API, como channels.list ou videos.rate, agora apresentam uma ferramenta interativa que permite visualizar e personalizar snippets de código em Java, JavaScript, PHP, Python, Ruby, Apps Script e Go.

    Para qualquer método, a ferramenta mostra snippets de código para um ou mais casos de uso, e cada caso de uso descreve uma maneira comum de chamar esse método. Por exemplo, você pode chamar o método channels.list para recuperar dados sobre um canal específico ou sobre o canal do usuário atual.

    Também é possível interagir com exemplos de código:

    • Modifique os valores de parâmetro e propriedade para que os snippets de código sejam atualizados dinamicamente para refletir os valores fornecidos.

    • Alterne entre snippets de código e amostras completas. Um snippet de código mostra a parte do código que chama o método de API. Uma amostra completa contém esse snippet, bem como o código boilerplate para autorizar e enviar solicitações. As amostras completas podem ser copiadas e executadas na linha de comando ou em um servidor da Web local.

    • Execute solicitações clicando em um botão. Para executar solicitações, é necessário autorizar a ferramenta a chamar a API em seu nome.

    Essa ferramenta substituiu o APIs Explorer nas páginas em que está disponível. Cada página exibe um link para que você também tenha a opção de carregar a solicitação em que está trabalhando no APIs Explorer.

  • A ferramenta Snippets de código da API Data também foi atualizada com uma nova interface que oferece os mesmos recursos descritos acima. Os principais novos recursos disponíveis nessa página são:

    • Suporte para solicitações de API que gravam dados.
    • Suporte para amostras em Java.
    • Código boilerplate mais flexível e abrangente para autorizar usuários e criar solicitações de API.

27 de abril de 2017

Esta atualização contém as seguintes alterações:

30 de março de 2017

Esta atualização contém as seguintes alterações:

  • A nova propriedade topicDetails.topicCategories[] do recurso channel contém uma lista de URLs da Wikipédia que descrevem o conteúdo do canal. Os URLs correspondem aos IDs de tópicos retornados na propriedade topicDetails.topicIds[] do recurso.
  • A nova propriedade contentDetails.videoPublishedAt do recurso playlistItem identifica a hora em que o vídeo foi publicado no YouTube. O recurso já contém a propriedade snippet.publishedAt, que identifica a hora em que o item foi adicionado à playlist.
  • Assim como o recurso channel, o recurso video agora retorna a propriedade topicDetails.topicCategories[], que contém uma lista de URLs da Wikipédia que descrevem o conteúdo do vídeo. Para recursos video, os URLs correspondem aos IDs de tópicos retornados na propriedade topicDetails.relevantTopicIds[] do recurso.
  • A nova propriedade contentDetails.contentRating.mpaatRating do recurso video identifica a classificação que a Motion Picture Association of America deu a um trailer ou prévia de um filme.

27 de fevereiro de 2017

Conforme anunciado em 11 de agosto de 2016, o YouTube mudou a lista compatível de IDs de tópicos para uma lista selecionada. A lista completa de IDs de tópicos compatíveis está incluída nas propriedades topicDetails dos recursos channel e video, bem como no parâmetro topicId do método search.list.

Há várias mudanças na lista selecionada:

  • Os seguintes tópicos foram adicionados como subtópicos de Society:
    NomeID do tópico
    Empresa/m/09s1f
    Saúde/m/0kt51
    Militar/m/01h6rj
    Política/m/05qt0
    Religião/m/06bvp
  • O tópico Animated cartoon, anteriormente filho de Entertainment, foi removido.
  • O tópico Children's music, anteriormente filho de Music, foi removido.

Como resultado dessa mudança, os temas relacionados a um vídeo agora são sempre retornados no valor da propriedade topicDetails.relevantTopicIds[] do recurso video.

29 de novembro de 2016

Esta atualização contém as seguintes alterações:

  • Houve três pequenas alterações na lista de IDs de tópicos que serão compatíveis a partir de 10 de fevereiro de 2017:

    • A categoria Professional wrestling, que era filha da categoria Sports, agora é filha de Entertainment.
    • A categoria TV shows, filha de Entertainment, é nova.
    • A categoria Health, que era filha de Lifestyle, foi removida.

    Além disso, existem algumas categorias principais (Entertainment, Gaming, Lifestyle, Music e Sports). Todos os vídeos associados a uma categoria secundária, como Tennis, também serão associados à categoria principal (Sports).

10 de novembro de 2016

Esta atualização contém as seguintes alterações:

  • Conforme anunciado pela primeira vez em 11 de agosto de 2016, a descontinuação do Freebase e da API Freebase exige várias mudanças relacionadas aos IDs de tópicos. Os IDs dos tópicos identificam os assuntos associados aos recursos de channel e video. Você também pode usar o parâmetro de pesquisa topicId para encontrar canais ou vídeos relacionados a um tema específico.

    A partir de 10 de fevereiro de 2017, o YouTube começará a retornar um pequeno conjunto de IDs de tema, em vez do conjunto muito mais granular de IDs retornado até o momento. Além disso, não há garantia de que canais e vídeos serão associados a tópicos, o que é consistente com o comportamento atual da API.

    Para que você possa preparar seus clientes de API para essas mudanças, as definições dos parâmetros e propriedades da API a seguir foram atualizadas para listar os IDs de tópicos que serão compatíveis após esse período. A lista de categorias é a mesma para todas as propriedades.

  • Observação:este é um anúncio de descontinuação.

    As seguintes propriedades serão descontinuadas:

    • A propriedade topicDetails.topicIds[] do recurso channel. Essa propriedade terá suporte até 10 de novembro de 2017.
    • A propriedade topicDetails.relevantTopicIds[] do recurso video. Essa propriedade terá suporte até 10 de novembro de 2017.
    • A propriedade topicDetails.topicIds[] do recurso video. Esta propriedade não conterá valores após 10 de fevereiro de 2017. Depois dessa data, o valor da propriedade topicDetails.relevantTopicIds[] vai identificar todos os tópicos associados a um vídeo.

  • Como o Freebase já foi descontinuado, o guia Pesquisar com tópicos do Freebase foi removido da documentação. Nesse guia, apresentamos exemplos de código que mostram como um aplicativo funcionaria com a API Freebase.

    Além disso, vários exemplos de código relacionados a IDs de tópicos foram removidos da documentação do método search.list.

2 de novembro de 2016

Esta atualização contém as seguintes alterações:

  • Novas propriedades e parâmetros

    • O recurso video contém várias novas propriedades:

      • A propriedade player.embedHtml contém uma tag <iframe> que pode ser usada para incorporar um player que reproduz o vídeo. As novas propriedades player.embedHeight e player.embedWidth identificam as dimensões do player incorporado. Essas propriedades só serão retornadas se a solicitação da API especificar um valor para pelo menos um dos parâmetros maxHeight ou maxWidth. Esses dois novos parâmetros são explicados posteriormente nesta entrada do histórico de revisões.

      • A nova propriedade hasCustomThumbnail indica se o usuário que fez o envio do vídeo forneceu uma imagem de miniatura personalizada para o vídeo. Essa propriedade só é visível para o usuário que fez o envio do vídeo.

      • O novo fpbRatingReasons[] identifica os motivos para o vídeo receber a classificação FPB (África do Sul).

      • O novo mcstRating identifica a classificação que o vídeo recebeu no Vietnã.

    • O método videos.list oferece suporte a dois novos parâmetros, maxHeight e maxWidth. É possível usar um dos parâmetros ou ambos ao recuperar a parte do player em recursos de video.

      Por padrão, a altura da <iframe> retornada na propriedade player.embedHtml é de 360 px. A largura é ajustada para corresponder à proporção do vídeo, garantindo que o player incorporado não tenha barras pretas enquadrando o vídeo. Por exemplo, se a proporção de um vídeo for 16:9, a largura do player será de 640 px.

      Com os novos parâmetros, você pode especificar que, em vez das dimensões padrão, o código de incorporação use uma altura e/ou largura apropriada para o layout do seu aplicativo. O servidor da API dimensiona as dimensões do player conforme apropriado para garantir que o player incorporado não tenha barras pretas enquadrando o vídeo. Os dois parâmetros especificam as dimensões máximas do player incorporado. Assim, se ambos os parâmetros forem especificados, uma dimensão ainda poderá ser menor do que o valor máximo permitido para ela.

      Por exemplo, suponha que um vídeo tenha uma proporção de 16:9. Assim, a tag player.embedHtml conteria um player de 640 x 360 se o parâmetro maxHeight ou maxWidth não estivesse definido.

      • Se o parâmetro maxHeight for definido como 720 e o parâmetro maxWidth não estiver definido, a API vai retornar um player de 1280 x 720.
      • Se o parâmetro maxWidth for definido como 960 e o parâmetro maxHeight não estiver definido, a API vai retornar um player de 960 x 540.
      • Se o parâmetro maxWidth estiver definido como 960 e o parâmetro maxHeight estiver definido como 450, a API retornará um player de 800 x 450.

      As novas propriedades player.embedHeight e player.embedWidth, descritas acima, identificam as dimensões do player.

  • Atualizações de métodos, propriedades e parâmetros atuais

    • A descrição do recurso channelSection foi atualizada para mostrar que um canal pode criar até 10 estantes sem configurar os dados de segmentação e pode criar até 100 estantes com dados de segmentação.

      Além disso, a propriedade targeting do recurso channelSection foi atualizada para refletir o fato de que as opções de segmentação só podem ser definidas usando a API. As opções de segmentação serão excluídas se a seção do canal for modificada com a interface do usuário no site do YouTube.

    • A definição da propriedade snippet.name do recurso i18nLanguage foi corrigida para refletir que o valor representa o nome de um idioma conforme escrito na linguagem especificada pelo parâmetro hl do método i18nLanguage.list

    • A propriedade contentDetails.note do recurso playlistItem foi atualizada para mostrar que o tamanho máximo do valor é de 280 caracteres.

    • O uso das propriedades contentDetails.startAt e contentDetails.endAt do recurso playlistItem foi descontinuado. Esses campos serão ignorados se forem definidos nas solicitações playlistItems.insert ou playlistItems.update.

    • Os métodos playlistItems.delete e playlistItems.update agora oferecem suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos. As solicitações que usam esse método também precisam ser autorizadas com um token que forneça acesso ao escopo https://www.googleapis.com/auth/youtubepartner.

    • Os parâmetros publishedBefore e publishedAfter do método search.list foram atualizados para indicar que os valores dos parâmetros são inclusivos. Por exemplo, se o parâmetro publishedBefore for definido, a API vai retornar os recursos criados antes ou no horário especificado.

    • A propriedade contentDetails.contentRating.grfilmRating do recurso video oferece suporte a mais três valores: grfilmK12, grfilmK15 e grfilmK18.

    • A descrição do método videos.insert foi atualizada para informar que o tamanho máximo de arquivo para vídeos enviados aumentou de 64 GB para 128 GB.

  • Erros novos e atualizados

    • A API oferece suporte aos seguintes novos erros:

      Tipo de erro Detalhe do erro Descrição
      forbidden (403) homeParameterDeprecated O método activities.list retorna esse erro para indicar que os dados de atividade da página inicial do usuário não estão disponíveis por essa API. Esse erro pode ocorrer se você definir o parâmetro home como true em uma solicitação não autorizada.
      invalidValue (400) invalidContentDetails O método playlistItems.insert retorna esse erro para indicar que o objeto contentDetails na solicitação é inválido. Esse erro ocorre porque o campo contentDetails.note tem mais de 280 caracteres.
      forbidden (403) watchHistoryNotAccessible O método playlistItems.list retorna esse erro para indicar que a solicitação tentou recuperar itens da playlist do "histórico de exibição", mas eles não podem ser recuperados usando a API.
      forbidden (403) watchLaterNotAccessible O método playlistItems.list retorna esse erro para indicar que a solicitação tentou recuperar itens da playlist "Assistir mais tarde", mas eles não podem ser recuperados usando a API.
      badRequest (400) uploadLimitExceeded O método videos.insert retorna esse erro para indicar que o canal excedeu o número de vídeos que podem ser enviados.
      forbidden (403) forbiddenEmbedSetting O método videos.update retorna esse erro para indicar que a solicitação de API tenta definir uma configuração de incorporação inválida para o vídeo. Alguns canais podem não ter permissão para oferecer players incorporados para transmissões ao vivo. Acesse a Central de Ajuda do YouTube para mais informações.
    • O método playlistItems.insert não retorna mais um erro se você inserir um vídeo duplicado em uma playlist. Esse erro ocorria anteriormente em algumas playlists, como vídeos favoritos, que não permitiam cópias, mas não são mais compatíveis. Em geral, as playlists permitem vídeos duplicados.

  • Outras atualizações

    • A entrada do histórico de revisões de 15 de setembro de 2016 foi atualizada para esclarecer que, sempre que as propriedades contentDetails.relatedPlaylists.watchHistory e contentDetails.relatedPlaylists.watchLater do recurso channel forem incluídas em uma resposta, elas sempre conterão os valores HL e WL, respectivamente. Além disso, essas propriedades só serão incluídas se um usuário autorizado estiver recuperando dados sobre o próprio canal do usuário.

15 de setembro de 2016

Esta atualização contém as seguintes alterações:

  • Em 11 de agosto de 2016, a atualização do histórico de revisões discutiu várias mudanças relacionadas aos IDs de tópicos, incluindo o fato de que o conjunto de IDs de tópico compatíveis será alterado a partir de 10 de fevereiro de 2017. A lista de temas compatíveis será publicada até 10 de novembro de 2016.

  • As seguintes mudanças estão em vigor. O aviso dessas mudanças foi dado na atualização do histórico de revisões em 11 de agosto de 2016:

    • Se o método activities.list for chamado com o parâmetro home definido como true, a resposta da API vai conter itens semelhantes aos que um usuário do YouTube desconectado veria na página inicial.

      Essa é uma pequena alteração que tem como objetivo proporcionar uma melhor experiência do usuário do que o comportamento descrito na atualização do histórico de revisões de 11 de agosto de 2016. Essa atualização indicou que as solicitações que usam o parâmetro home retornariam uma lista vazia.

    • As propriedades contentDetails.relatedPlaylists.watchHistory e contentDetails.relatedPlaylists.watchLater do recurso channel agora contêm valores de HL e WL, respectivamente, para todos os canais.

      Para esclarecer, essas propriedades só são visíveis para um usuário autorizado que esteja recuperando dados sobre o próprio canal do usuário. As propriedades sempre contêm os valores HL e WL, mesmo para um usuário autorizado que esteja recuperando dados sobre o próprio canal do usuário. Portanto, os IDs do histórico de exibição e da playlist "Assistir mais tarde" não podem ser recuperados pela API.

      Além disso, as solicitações para recuperar detalhes da playlist (playlists.list) ou itens da playlist (playlistItems.list) do histórico de exibição ou da playlist "Assistir mais tarde" de um canal agora retornam listas vazias. Esse comportamento é válido para os novos valores, HL e WL, assim como para todos os códigos do histórico de exibição ou da playlist "Assistir mais tarde" que o cliente da API possa ter armazenado.

  • O objeto fileDetails.recordingLocation do recurso video e as propriedades filhas dele não são mais retornados. Antes, esses dados (como o objeto fileDetails pai) só podiam ser recuperados pelo proprietário de um vídeo.

11 de agosto de 2016

Esta atualização contém as seguintes alterações:

  • Os Termos de Serviço da API YouTube recém-publicados ("os Termos atualizados"), que são abordados em detalhes no Blog de engenharia e desenvolvedores do YouTube e contêm um grande conjunto de atualizações dos Termos de Serviço atuais. Além dos Termos atualizados, que entrarão em vigor a partir de 10 de fevereiro de 2017, esta atualização inclui vários documentos de apoio para ajudar a explicar as políticas que os desenvolvedores precisam seguir.

    O conjunto completo de novos documentos está descrito no histórico de revisões dos termos atualizados. Além disso, as futuras alterações nos Termos Atualizados ou nos documentos complementares também serão explicadas no histórico de revisões. Você pode se inscrever em um feed RSS listando as alterações do histórico de revisões por um link no documento.

  • A descontinuação do Freebase e da API Freebase está causando várias mudanças relacionadas aos IDs de tópicos. Os IDs de tópicos são usados nos seguintes recursos e métodos da API:

    • A parte topicDetails do recurso channel identifica temas associados ao canal.
    • A parte topicDetails do recurso video identifica temas associados ao vídeo.
    • Com o parâmetro topicId do método search.list, você pode pesquisar vídeos ou canais relacionados a um tema específico.

    Estas são as mudanças:

    • A partir de 10 de fevereiro de 2017, o YouTube começará a retornar um pequeno conjunto de IDs de tema, em vez do conjunto muito mais granular de IDs retornados até agora. Esse conjunto de temas compatíveis vai identificar categorizações de alto nível, como Esportes ou Basquete, mas, por exemplo, não vai identificar equipes ou jogadores específicos. Vamos anunciar o conjunto de temas compatíveis para que você tenha tempo de preparar sua inscrição para essa mudança.

    • Qualquer ID de tópico do Freebase que você já recuperou pode ser usado para pesquisar conteúdo até 10 de fevereiro de 2017. No entanto, após esse período, você poderá usar apenas o menor conjunto de temas identificados no item anterior para recuperar os resultados da pesquisa por assunto.

    • Depois de 10 de fevereiro de 2017, se você tentar pesquisar resultados usando um ID de tópico que não esteja no conjunto menor de IDs de tópicos compatíveis, a API retornará um conjunto de resultados vazio.

  • Vários campos e parâmetros da API estão sendo descontinuados a partir de 12 de setembro de 2016:

    • O parâmetro home do método activities.list permitiu que um usuário autorizado recuperasse o feed de atividades que seria exibido na página inicial do YouTube para esse usuário. As solicitações que usarem esse parâmetro após 12 de setembro de 2016 retornarão uma lista vazia.

    • As propriedades contentDetails.relatedPlaylists.watchHistory e contentDetails.relatedPlaylists.watchLater do recurso channel ficam visíveis apenas para um usuário autorizado que recupera dados sobre o próprio canal do usuário. Depois de 12 de setembro de 2016, contentDetails.relatedPlaylists.watchHistory retornará um valor HL e a propriedade contentDetails.relatedPlaylists.watchLater retornará um valor WL para todos os canais.

      As solicitações para recuperar os detalhes da playlist (playlists.list) do histórico de exibição de um canal ou da playlist "Assistir mais tarde" retornarão uma lista vazia após 12 de setembro de 2016. As solicitações para recuperar itens da playlist (playlistItems.list) em qualquer uma dessas playlists também retornarão uma lista vazia após esse período. Isso é válido para os novos valores, HL e WL, bem como para todos os códigos do histórico de exibição ou da playlist "Assistir mais tarde" que o cliente da API já tiver armazenado.

    • O objeto fileDetails.recordingLocation do recurso video ou qualquer uma das propriedades filhas dele não serão mais retornados após 12 de setembro de 2016. Esses dados só podem ser recuperados pelo proprietário de um vídeo, já que o objeto fileDetails principal só pode ser recuperado por um proprietário do vídeo.

13 de junho de 2016

Esta atualização contém as seguintes alterações:

  • O uso da propriedade contentDetails.googlePlusUserId do recurso channel foi descontinuado. Antes, a propriedade só estava presente se o canal estava associado a um perfil do Google+. Após a descontinuação, a propriedade não será mais incluída em nenhum recurso channel.

  • O uso da propriedade snippet.authorGoogleplusProfileUrl do recurso comment foi descontinuado. Antes, a propriedade só estava presente se o canal estava associado a um perfil do Google+. Após a descontinuação, a propriedade não será mais incluída em nenhum recurso comment.

Como nenhuma dessas propriedades será retornada após a descontinuação, ambas foram removidas da documentação do recurso correspondente.

31 de maio de 2016

Esta atualização contém as seguintes alterações:

  • O novo parâmetro myRecentSubscribers do método subscriptions.list recupera uma lista de inscritos do canal do usuário autenticado em ordem cronológica inversa do momento em que eles se inscreveram no canal.

    Observe que o novo parâmetro suporta apenas a recuperação dos últimos 1.000 inscritos no canal do usuário autenticado. Para recuperar uma lista completa de assinantes, use o parâmetro mySubscribers. Esse parâmetro, que não retorna os inscritos em uma determinada ordem, não limita o número de assinantes que podem ser recuperados.

  • A definição da propriedade snippet.thumbnails.(key) foi atualizada para os recursos activity, playlistItem, playlist, resultado da pesquisa, miniatura e vídeo para observar que há outros tamanhos de imagem de miniatura disponíveis para alguns vídeos.

    • A imagem standard tem 640 px de largura e 480 px de altura.
    • A imagem maxres tem 1280 px de largura e 720 px de altura.
  • A definição do parâmetro part do método channelSection.list foi atualizada para informar que a parte targeting pode ser recuperada a um custo de 2 unidades de cota.

  • O método videos.list agora retorna um erro proibido (403) quando uma solicitação autorizada incorretamente tenta recuperar as partes fileDetails, processingDetails ou suggestions de um recurso video. Essas partes estão disponíveis apenas para o proprietário do vídeo.

17 de maio de 2016

A nova ferramenta Snippets de código da API Data fornece snippets de código curtos para casos de uso comuns da API YouTube Data. No momento, os snippets de código estão disponíveis para todos os métodos de API somente leitura em Apps Script, Go, JavaScript, PHP, Python e Ruby.

Para cada método, a ferramenta mostra amostras de código para um ou mais casos de uso. Por exemplo, ela fornece cinco snippets de código para o método search.list:

  • Listar vídeos por palavra-chave
  • Listar vídeos por local
  • Listar eventos ao vivo
  • Pesquisar os vídeos do usuário autenticado
  • Listar vídeos relacionados

Para cada caso de uso, a ferramenta exibe os parâmetros usados na solicitação de API. Você pode modificar os valores dos parâmetros. Nesse caso, a ferramenta atualiza os snippets de código para refletir os valores de parâmetro fornecidos.

Por fim, a ferramenta exibe a resposta da API para cada solicitação. Se você modificou os parâmetros de solicitação, a resposta da API se baseia nos valores de parâmetro fornecidos. É necessário autorizar a ferramenta a enviar solicitações em seu nome para que as respostas da API sejam exibidas.

28 de abril de 2016

Esta atualização contém as seguintes alterações:

  • A nova propriedade contentDetails.projection do recurso video especifica o formato de projeção do vídeo. Os valores de propriedade válidos são 360 e rectangular.

  • As propriedades recordingDetails.location e fileDetails.recordingLocation do recurso video foram atualizadas para explicar a diferença entre elas:

    • A propriedade recordingDetails.location identifica o local que o proprietário do vídeo quer associar ao vídeo. Este local é editável, pesquisável em vídeos públicos e pode ser exibido aos usuários em vídeos públicos.
    • O valor da propriedade fileDetails.recordingLocation é imutável e representa o local associado ao arquivo de vídeo original enviado. O valor só fica visível para o proprietário do vídeo.

  • A definição da propriedade contentDetails.relatedPlaylists.favorites do recurso channel foi atualizada para indicar que o valor da propriedade pode conter um ID que se refere a uma playlist vazia e que não pode ser buscado. Isso ocorre porque a funcionalidade de vídeos favoritos foi descontinuada. Essa propriedade não está sujeita à política de descontinuação da API.

  • A definição do erro ineligibleAccount, que pode ser retornada pelos métodos comments.insert, comments.update, commentThreads.insert ou commentThreads.update, foi atualizada para refletir que o erro ocorre quando a conta do YouTube usada para autorizar a solicitação de API não é mesclada com a Conta do Google do usuário.

20 de abril de 2016

Esta atualização contém as seguintes alterações:

  • A definição do parâmetro part do método channels.update foi atualizada para mostrar que localizations também é um valor válido para esse parâmetro

  • A seção Uso da cota do Guia de primeiros passos foi atualizada para vincular ao Google Developer Console, onde você pode ver sua cota e o uso de cota reais.

16 de março de 2016

Esta atualização contém as seguintes alterações:

  • Atualizações de recursos e métodos atuais

    • A documentação do recurso channelBanner foi atualizada para mostrar que o tamanho recomendado para a imagem do banner do canal enviada é 2.560 x 1.440 pixels. O tamanho mínimo (2.048 x 1.152 pixels) não mudou.

    • A nova propriedade snippet.customUrl do recurso channel identifica o URL personalizado associado ao canal. Nem todos os canais têm URLs personalizados. A Central de Ajuda do YouTube explica os requisitos de qualificação para ter um URL personalizado e como configurá-lo.

    • O uso do objeto brandingSettings.watch do recurso channel e de todas as propriedades filhas dele foi descontinuado.

    • A resposta da API a uma solicitação search.list agora contém uma propriedade regionCode. A propriedade identifica o código da região que foi usado para a consulta de pesquisa. O código de região instrui a API a retornar resultados de pesquisa para o país especificado.

      O valor da propriedade é um código de país ISO de duas letras que identifica a região. O método i18nRegions.list retorna uma lista de regiões compatíveis. O valor padrão é US. Se uma região não suportada for especificada, o YouTube ainda poderá selecionar outra região, em vez do valor padrão, para processar a consulta.

    • As definições das propriedades snippet.label e snippet.secondaryReasons[].label do recurso videoAbuseReportReason foram atualizadas para indicar que elas contêm texto do rótulo localizado por motivos de denúncia de abuso.

      Além disso, o método videoAbuseReportReasons.list agora oferece suporte ao parâmetro hl, que especifica o idioma que será usado para o texto do rótulo na resposta da API. O valor padrão do parâmetro é en_US.

    • A nova propriedade contentDetails.contentRating.ecbmctRating do recurso video identifica a classificação de um vídeo do Conselho de Avaliação e Classificação do Ministério da Cultura e Turismo da Turquia.

      Além disso, as propriedades da API para outros sistemas de classificação são compatíveis com os novos valores de propriedade a seguir:

      • contentDetails.contentRating.fpbRating (África do Sul)
        Classificação: 10; valor da propriedade: fpb10
      • contentDetails.contentRating.moctwRating (Taiwan)
        Classificação: R-12; valor da propriedade: moctwR12
      • contentDetails.contentRating.moctwRating (Taiwan)
        Classificação: R-15; valor da propriedade: moctwR15
    • A propriedade liveStreamingDetails.activeLiveChatId do recurso video contém o ID do chat ao vivo ativo associado ao vídeo. O valor da propriedade só vai estar presente se o vídeo for uma transmissão ao vivo com chat ao vivo ativado. Depois que a transmissão termina e o chat ao vivo termina, a propriedade do vídeo não é mais retornada.

    • A propriedade status.rejectionReason do recurso video aceita o novo valor de propriedade legal.

  • A API oferece suporte aos seguintes novos erros:

    Tipo de erro Detalhe do erro Descrição
    badRequest (400) notEditable Os métodos channelSections.insert, channelSections.update e channelSections.delete retornam esse erro para indicar que a seção do canal especificada não pode ser criada, atualizada ou excluída.
    badRequest (400) styleRequired Os métodos channelSections.insert e channelSections.update retornam esse erro para indicar que o recurso channelSection enviado na solicitação de API precisa especificar um valor para a propriedade snippet.style.
    badRequest (400) typeRequired Os métodos channelSections.insert e channelSections.update retornam esse erro para indicar que o recurso channelSection enviado na solicitação de API precisa especificar um valor para a propriedade snippet.type.
    badRequest (400) processingFailure O método commentThreads.list retorna esse erro para indicar que o servidor da API falhou ao processar a solicitação. Embora possa ser um erro temporário, ele geralmente indica que a entrada da solicitação é inválida. Verifique a estrutura do recurso commentThread no corpo da solicitação para garantir que ele é válido.
    forbidden (403) commentsDisabled O método commentThreads.list retorna esse erro para indicar que o vídeo identificado pelo parâmetro videoId desativou os comentários.
    badRequest (400) commentTextTooLong O método commentThreads.insert retorna esse erro para indicar que o recurso comment que está sendo inserido contém muitos caracteres na propriedade snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist O método playlistItems.insert retorna esse erro para indicar que o vídeo que você está tentando adicionar à playlist já está em outra playlist em série. Acesse a Central de Ajuda do YouTube para mais informações sobre playlists em série.
    badRequest (400) subscriptionForbidden O método subscriptions.insert retorna esse erro para indicar que você atingiu o número máximo de assinaturas ou que criou muitas assinaturas recentes. No último caso, é possível fazer a solicitação novamente após algumas horas.
    badRequest (400) invalidCategoryId O método videos.update retorna esse erro para indicar que a propriedade snippet.categoryId no recurso video enviado especificou um ID de categoria inválido. Use o método videoCategories.list para recuperar as categorias compatíveis.
    badRequest (400) invalidDescription O método videos.update retorna esse erro para indicar que a propriedade snippet.description no recurso video enviado especificou um valor inválido.
    badRequest (400) invalidPublishAt O método videos.update retorna esse erro para indicar que a propriedade status.publishAt no recurso video enviado especificou um horário de publicação programado inválido.
    badRequest (400) invalidRecordingDetails O método videos.update retorna esse erro para indicar que o objeto recordingDetails no recurso video enviado especificou detalhes de gravação inválidos.
    badRequest (400) invalidTags O método videos.update retorna esse erro para indicar que a propriedade snippet.tags no recurso video enviado especificou um valor inválido.
    badRequest (400) invalidTitle O método videos.update retorna esse erro para indicar que a propriedade snippet.title no recurso video enviado especificou um título de vídeo inválido ou vazio.
    badRequest (400) invalidVideoMetadata O método videos.update retorna esse erro para indicar que os metadados da solicitação são inválidos. Esse erro ocorrerá se a solicitação atualizar a parte snippet de um recurso video, mas não definir um valor para as propriedades snippet.title e snippet.categoryId.

18 de dezembro de 2015

As leis da União Europeia (UE) exigem que certas divulgações sejam fornecidas e recebam o consentimento dos usuários finais na UE. Portanto, os usuários finais da União Europeia precisam obedecer à Política de consentimento de usuários da União Europeia. Adicionamos um aviso sobre esse requisito nos Termos de Serviço da API do YouTube.

19 de novembro de 2015

A API agora oferece suporte à capacidade de definir e extrair texto localizado para as propriedades snippet.title e snippet.description dos recursos playlist e video, além das propriedades snippet.title dos recursos channelSection e snippet.description dos channel.

  • Como definir títulos e descrições localizados

    É possível definir valores localizados para um recurso ao chamar o método insert ou update para ele. Para definir valores localizados para um recurso, siga estas etapas:

    • Verifique se um valor está definido para a propriedade snippet.defaultLanguage do recurso. Essa propriedade identifica o idioma das propriedades snippet.title e snippet.description do recurso. O valor pode ser qualquer idioma de aplicativo compatível ou a maioria dos outros códigos de idioma ISO 639-1:2002. Por exemplo, se você fizer upload de um vídeo com título e descrição em inglês, defina a propriedade snippet.defaultLanguage como en.

      Observação sobre a atualização de recursos channel: para definir a propriedade snippet.defaultLanguage para um recurso channel, é necessário atualizar a propriedade brandingSettings.channel.defaultLanguage.

    • Adicione o objeto localizations ao recurso que você está atualizando. Cada chave de objeto é uma string que identifica o idioma de um aplicativo ou o código de idioma ISO 639-1:2002, e cada chave mapeia para um objeto que contém o título (e a descrição) localizado para o recurso.

      O snippet de amostra abaixo define o idioma padrão do recurso como o inglês. Ele também adiciona títulos e descrições em alemão e espanhol localizados em um vídeo:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          ...
        },
        "localizations":
          "de": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          },
          "es": {
            "title": "Jugar al fútbol",
            "description": "Nosotros jugamos fútbol en el parque los domingos",
          }
        }
      }
    • Importante:ao atualizar os dados localizados de um recurso, sua solicitação de API precisa incluir todas as versões localizadas dos dados. Por exemplo, se você enviar outra solicitação para adicionar dados em português ao vídeo no exemplo acima, será necessário incluir os dados localizados para alemão, espanhol e português.

  • Como recuperar valores localizados

    A API aceita duas formas de recuperar valores localizados para um recurso:

    • Adicione o parâmetro hl à solicitação channels.list, channelSections.list, playlists.list ou videos.list para recuperar dados localizados para um idioma do aplicativo específico compatível com o site do YouTube. Se os detalhes do recurso localizado estiverem disponíveis nesse idioma, o objeto snippet.localized do recurso conterá os valores localizados. No entanto, se os detalhes localizados não estiverem disponíveis, o objeto snippet.localized vai conter os detalhes do recurso no idioma padrão.

      Por exemplo, suponha que uma solicitação videos.list recupere os dados do vídeo descrito acima com dados localizados em alemão e espanhol. Se o parâmetro hl fosse definido como de, o recurso conteria os seguintes dados:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          "localized": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          }
          ...
        }
      }

      No entanto, se o parâmetro hl fosse definido como fr, o objeto snippet.localized conteria o título e a descrição em inglês, porque o inglês é o idioma padrão do recurso, e os detalhes em francês não estão disponíveis.

      Importante:o parâmetro hl é compatível apenas com valores que identificam os idiomas do aplicativo aceitos no site do YouTube. Para determinar se o texto localizado está disponível para outros idiomas, extraia a parte do localizations do recurso e filtre para determinar se o texto localizado existe.

      Por exemplo, você precisa recuperar a lista completa de localizações para determinar se o texto localizado está disponível em inglês dos Apalaches.

    • Ao recuperar um recurso, inclua localizations no valor do parâmetro part para recuperar todos os detalhes localizados desse recurso. Se você estiver recuperando dados localizados de um idioma que não seja um idioma atual do aplicativo do YouTube, use essa abordagem para recuperar todas as localizações e, em seguida, filtrar para determinar se os dados localizados desejados existem.

  • Erros relacionados a valores de texto localizados

    A API também oferece suporte aos seguintes novos erros para valores de texto localizados:

    Tipo de erro Detalhe do erro Descrição
    badRequest (400) defaultLanguageNotSetError Esse erro indica que uma solicitação que tenta inserir ou atualizar o objeto localizations de um recurso está falhando porque a propriedade snippet.defaultLanguage não está definida para esse recurso. Os métodos channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insert e videos.update aceitam esse erro.
    badRequest (400) localizationValidationError Esse erro indica que um dos valores no objeto localizations de um recurso não foi validado. Por exemplo, este erro poderá ocorrer se o objeto contiver um código de idioma inválido. Os métodos channels.update, channelSections.insert, channelSections.update, playlists.insert e playlists.update são compatíveis com esse erro.

4 de novembro de 2015

Esta atualização contém as seguintes alterações:

  • Atualizações de recursos e métodos atuais

    • O parâmetro order do método search.list foi atualizado para mostrar que, se você classificar as transmissões ao vivo por viewCount, os resultados da API serão classificados pelo número de espectadores simultâneos das transmissões enquanto elas ainda estão em andamento.

    • O parâmetro relatedToVideoId do método search.list foi atualizado para informar que, se o parâmetro for definido, os únicos outros parâmetros compatíveis serão part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (que precisam ser definidos como video) e fields. Essa atualização não reflete uma mudança no comportamento da API.

    • A definição da propriedade snippet.publishedAt do recurso video foi atualizada para mostrar que o valor da propriedade, que especifica a data e a hora em que o vídeo foi publicado, pode ser diferente da hora em que o vídeo foi enviado. Por exemplo, se um vídeo é enviado como privado e torna-se público mais tarde, o valor da propriedade especifica a hora em que o vídeo se tornou público. A definição atualizada também explica como o valor é preenchido para vídeos privados e não listados.

      Essa mudança não reflete uma mudança no comportamento da API.

    • A definição da propriedade status.publishAt do recurso video foi atualizada para incluir estas informações:

      • Se você definir o valor dessa propriedade ao chamar o método videos.update, também precisará definir o valor da propriedade status.privacyStatus como private, mesmo que o vídeo já seja privado.
      • Se a solicitação programar a publicação de um vídeo em algum momento no passado, a publicação vai ser imediata. Dessa forma, o efeito de definir a propriedade status.publishAt para uma data e hora anteriores é o mesmo que mudar a privacyStatus do vídeo de private para public.
    • A propriedade contentDetails.contentRating.cncRating do recurso video especifica a classificação do vídeo da Comissão de classificação cinematográfica da França. Essa propriedade substitui a contentDetails.contentRating.fmocRating, que foi descontinuada.

    • A definição de brandingSettings.channel.keywords do recurso channel foi atualizada para refletir corretamente que o valor da propriedade contém uma lista de strings separadas por espaços, e não uma lista separada por vírgulas, conforme documentado anteriormente. Essa atualização não reflete uma mudança no comportamento da API.

    • A documentação do método thumbnails.set foi atualizada para refletir com precisão que o corpo da solicitação contém a imagem em miniatura que você está enviando e associando a um vídeo. O corpo da solicitação não contém um recurso thumbnail. Anteriormente, a documentação dizia que você não precisa fornecer um corpo de solicitação ao chamar esse método. Essa atualização não reflete uma mudança no comportamento da API.

    • A descrição do recurso activity foi atualizada para refletir o fato de que o método activities.list não inclui recursos relacionados a novos comentários de vídeo no momento. snippet.type e contentDetails.comment do recurso também foram atualizados.

  • Erros novos e atualizados

    • A API agora oferece suporte aos seguintes erros:

      Detalhes do erro
      activities.insert
      Código de resposta HTTPbadRequest (400)
      MotivoinvalidMetadata
      DescriçãoA propriedade kind não corresponde ao tipo de ID fornecido.
      commentThreads.update
      comments.insert
      comments.update
      Código de resposta HTTPbadRequest (400)
      MotivocommentTextTooLong
      DescriçãoO recurso comment que está sendo inserido ou atualizado contém muitos caracteres na propriedade snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      Código de resposta HTTPforbidden (403)
      MotivoplaylistItemsNotAccessible
      DescriçãoA solicitação não está devidamente autorizada a inserir, atualizar ou excluir o item da playlist especificado.
      playlists.delete
      playlists.insert
      playlists.update
      Código de resposta HTTPbadRequest (400)
      MotivoplaylistForbidden
      DescriçãoEsta operação é proibida ou a solicitação não está devidamente autorizada.
      search.list
      Código de resposta HTTPbadRequest (400)
      MotivoinvalidLocation
      DescriçãoO valor do parâmetro location e/ou locationRadius foi formatado incorretamente.
      search.list
      Código de resposta HTTPbadRequest (400)
      MotivoinvalidRelevanceLanguage
      DescriçãoO valor do parâmetro relevanceLanguage foi formatado incorretamente.
      subscriptions.insert
      Código de resposta HTTPbadRequest (400)
      MotivosubscriptionForbidden
      DescriçãoEsse erro ocorre quando qualquer uma das seguintes situações é verdadeira:
      • A assinatura que você está tentando criar já existe
      • Você já atingiu o número máximo de inscrições
      • Você está tentando se inscrever em seu próprio canal, o que não é compatível.
      • Você criou muitas assinaturas recentemente e precisa esperar algumas horas antes de repetir a solicitação.
      videos.update
      Código de resposta HTTPbadRequest (400)
      MotivoinvalidDefaultBroadcastPrivacySetting
      DescriçãoA solicitação tenta definir uma configuração de privacidade inválida para a transmissão padrão.

28 de agosto de 2015

Esta atualização contém as seguintes alterações:

  • Atualizações de recursos e métodos atuais

    • O uso da propriedade statistics.favoriteCount do recurso video foi descontinuado.

      De acordo com nossa política de descontinuação, essa propriedade vai continuar sendo incluída nos recursos do video por pelo menos um ano após este anúncio. No entanto, o valor da propriedade agora fica sempre definido como 0.

7 de agosto de 2015

Esta atualização contém as seguintes alterações:

  • Atualizações de recursos e métodos atuais

    • A definição da propriedade snippet.tags[] do recurso video foi atualizada para fornecer mais informações sobre como o servidor da API calcula o comprimento do valor da propriedade. Essa atualização não reflete uma mudança no comportamento da API.

      Especificamente, a definição agora explica que, se uma tag contiver um espaço, o servidor da API processará o valor da tag como se ela estivesse entre aspas, e as aspas contam para o limite de caracteres. Portanto, em relação aos limites de caracteres, a tag Foo-Baz contém sete caracteres, mas a tag Foo Baz contém nove caracteres.

    • O método commentThreads.insert não é mais compatível com o parâmetro shareOnGooglePlus, que indicava se um comentário e as respostas a ele também deveriam ser postados no perfil do Google+ do autor. Se uma solicitação enviar o parâmetro, o servidor da API ignorará o parâmetro, mas manipulará a solicitação de outra forma.

18 de junho de 2015

Esta atualização contém as seguintes alterações:

  • Atualizações de recursos e métodos atuais

    • O novo parâmetro order do método commentThreads.list especifica a ordem em que a resposta da API vai listar as conversas de comentários. As conversas podem ser ordenadas por tempo ou relevância. O comportamento padrão é ordenar por tempo.

    • A nova propriedade snippet.defaultAudioLanguage do recurso video especifica o idioma falado na faixa de áudio padrão do vídeo.

    • A definição da propriedade contentDetails.licensedContent do recurso video foi atualizada para esclarecer que o conteúdo precisa ter sido originalmente enviado a um canal vinculado a um parceiro de conteúdo do YouTube e depois reivindicado por esse parceiro. Isso não representa uma mudança no comportamento real da API.

    • Os métodos captions.delete, captions.download, captions.insert, captions.list e captions.update agora oferecem suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos. As solicitações que usam esse método também precisam ser autorizadas com um token que forneça acesso ao escopo https://www.googleapis.com/auth/youtubepartner.

  • Erros novos e atualizados

    • A API agora oferece suporte aos seguintes erros:

      Detalhes do erro
      videos.rate
      Código de resposta HTTPbadRequest (400)
      MotivoemailNotVerified
      DescriçãoA usuária precisa verificar seu endereço de e-mail antes de classificar o vídeo.
      videos.rate
      Código de resposta HTTPbadRequest (400)
      MotivovideoPurchaseRequired
      DescriçãoOs vídeos disponíveis para locação podem ser avaliados somente pelos usuários que os alugaram.
    • Os métodos subscriptions.delete e subscriptions.insert não são mais compatíveis com os erros accountClosed e accountSuspended.

27 de abril de 2015

Esta atualização contém as seguintes alterações:

  • Novos recursos e métodos

    • O novo recurso videoAbuseReportReason contém informações sobre o motivo de um vídeo ser sinalizado por conter conteúdo abusivo. O método videoAbuseReportReasons.list permite recuperar uma lista de todos os motivos para os vídeos serem sinalizados.

    • O novo método videos.reportAbuse oferece uma maneira de sinalizar um vídeo que tenha conteúdo abusivo. O corpo da solicitação contém um objeto JSON que especifica o vídeo que está sendo sinalizado, bem como o motivo pelo qual o vídeo é considerado com conteúdo abusivo. Confira os motivos válidos usando o método videoAbuseReportReason.list descrito acima.

      O guia de migração também foi atualizado com um exemplo de denúncia de um vídeo abusivo. Com essa alteração, a API v3 agora oferece suporte a todos os recursos da API v2 para os quais está programado. Esses recursos também são explicados no guia de migração.

  • Atualizações de recursos e métodos atuais

    • O novo parâmetro de filtro forDeveloper do método search.list restringe uma pesquisa para extrair apenas os vídeos enviados pelo app ou site do desenvolvedor. O parâmetro forDeveloper pode ser usado com parâmetros de pesquisa opcionais, como q.

      Para esse recurso, cada vídeo enviado é marcado automaticamente com o número do projeto associado ao aplicativo do desenvolvedor no Google Developers Console.

      Quando uma solicitação de pesquisa define o parâmetro forDeveloper como true, o servidor da API usa as credenciais de autorização da solicitação para identificar o desenvolvedor. Assim, o desenvolvedor pode restringir os resultados aos vídeos enviados pelo próprio app ou site, mas não aos vídeos enviados por outros apps ou sites.

      O novo recurso oferece uma funcionalidade semelhante, mas não idêntica à das tags de desenvolvedor, compatível com a API v2.

    • A nova propriedade snippet.country do recurso channel permite que os proprietários de canais associem os canais a um país específico.

      Observação:para definir a propriedade snippet.country para um recurso channel, é necessário atualizar a propriedade brandingSettings.channel.country.

    • A API agora oferece suporte à segmentação de recursos channelSection. A segmentação por seção do canal oferece uma maneira de restringir a visibilidade de uma seção de conteúdo aos usuários que correspondem a critérios específicos.

      A API expõe três opções de segmentação. O usuário precisa atender a todas as configurações de segmentação para que uma seção de canal fique visível.

    • A definição da propriedade contentDetails.duration do recurso video foi corrigida para refletir que o valor pode refletir horas, dias e assim por diante.

    • A documentação dos métodos channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.delete e videos.delete foi corrigida para refletir que, quando bem-sucedidos, esses métodos retornam um código de resposta HTTP 204 (No Content).

  • Erros novos e atualizados

    • A API agora oferece suporte aos seguintes erros:

      Tipo de erro Detalhe do erro Descrição
      badRequest (400) targetInvalidCountry Os métodos channelSections.insert e channelSections.update retornam esse erro se o recurso channelSection inserido continha um valor inválido para a propriedade targeting.countries[].
      badRequest (400) targetInvalidLanguage Os métodos channelSections.insert e channelSections.update retornam esse erro se o recurso channelSection inserido continha um valor inválido para a propriedade targeting.languages[].
      badRequest (400) targetInvalidRegion Os métodos channelSections.insert e channelSections.update retornam esse erro se o recurso channelSection inserido continha um valor inválido para a propriedade targeting.regions[].
      badRequest (400) operationNotSupported O método comments.insert retornará esse erro se o usuário da API não conseguir inserir um comentário em resposta ao comentário de nível superior identificado pela propriedade snippet.parentId. Em um recurso commentThread, a propriedade snippet.canReply indica se o leitor atual pode responder à conversa.
      badRequest (400) invalidChannelId O método search.list retornará esse erro se o parâmetro channelId na solicitação especificar um ID do canal inválido.
      badRequest (400) subscriptionForbidden O método subscriptions.insert retornará esse erro se o usuário da API tentar se inscrever no próprio canal do usuário.
    • O método captions.update não oferece mais suporte aos erros invalidMetadata e videoNotFound.

16 de abril de 2015

Esta atualização contém as seguintes alterações:

  • O guia de migração foi atualizado para explicar como migrar aplicativos que ainda usam a funcionalidade de comentários da API v2.

    O guia também destaca vários recursos de comentários que não eram compatíveis com a API v2, mas que são compatíveis com a API v3. São elas:

    • Recuperar comentários sobre um canal
    • Recuperar todos os tópicos de comentários relacionados a um canal, o que significa que a resposta da API pode conter comentários sobre o canal ou qualquer um dos vídeos dele.
    • Atualizar o texto de um comentário
    • Marcar um comentário como spam
    • Como definir o status de moderação de um comentário

  • O guia Como se inscrever para receber notificações push foi atualizado para refletir o fato de que as notificações são enviadas apenas para o hub do PubSubHubBub do Google, e não para o hub do Superfeedr, como indicado anteriormente.

9 de abril de 2015

Esta atualização contém as seguintes alterações:

  • Os novos recursos commentThread e comment da API permitem recuperar, inserir, atualizar, excluir e moderar comentários.

    • Um recurso commentThread contém informações sobre uma conversa do YouTube, que compreende um comentário de nível superior e respostas, se houver, a esse comentário. Um recurso commentThread pode representar comentários sobre um vídeo ou um canal.

      O comentário de nível superior e as respostas são, na verdade, recursos comment aninhados dentro do recurso commentThread. É importante observar que o recurso commentThread não contém necessariamente todas as respostas a um comentário, e você precisa usar o método comments.list se quiser recuperar todas as respostas de um comentário específico. Além disso, alguns comentários não têm respostas.

      A API oferece suporte aos seguintes métodos para recursos commentThread:

      • commentThreads.list: recupera uma lista de conversas de comentários. Use este método para recuperar comentários associados a um vídeo ou canal específico.
      • commentThreads.insert: cria um novo comentário de nível superior. Use o método comments.insert para responder a um comentário já existente.
      • commentThreads.update: modifica um comentário de nível superior.

    • Um recurso comment contém informações sobre um único comentário do YouTube. Um recurso comment pode representar um comentário sobre um vídeo ou um canal. Além disso, o comentário pode ser de nível superior ou uma resposta a um comentário de nível superior.

      A API oferece suporte aos seguintes métodos para recursos comment:

      • comments.list: recupera uma lista de comentários. Use este método para recuperar todas as respostas a um comentário específico.
      • comments.insert: cria uma resposta a um comentário existente.
      • comments.update: modificar um comentário.
      • comments.markAsSpam – Sinaliza um ou mais comentários como spam.
      • comments.setModerationStatus: define o status de moderação de um ou mais comentários. Por exemplo, remova um comentário para exibição pública ou rejeite um comentário como inadequado para exibição. A solicitação de API precisa ser autorizada pelo proprietário do canal ou vídeo associado aos comentários.
      • comments.delete: exclui um comentário.

    O novo escopo https://www.googleapis.com/auth/youtube.force-ssl da API, descrito no histórico de revisões de 2 de abril de 2015, é obrigatório para chamadas para os métodos comments.insert, comments.update, comments.markAsSpam, comments.setModerationStatus, comments.delete, commentThreads.insert e commentThreads.update.

  • O novo guia Como se inscrever em notificações push explica o novo suporte da API para notificações push via PubSubHubBub, um protocolo de publicação/assinatura de servidor para servidor para recursos acessíveis pela Web. Seu servidor de retorno de chamada PubSubHubBub pode receber notificações de feed Atom quando um canal realiza uma das seguintes atividades:

    • envia um vídeo
    • atualiza o título de um vídeo
    • atualiza a descrição de um vídeo

  • O guia de migração também foi atualizado para incluir o novo suporte a notificações push. No entanto, como a API v2 era compatível com vários outros tipos de notificações push que não são compatíveis com a API v3, a menção ao suporte PubSubHubBub ainda está listada na seção Descontinuado desse guia.

  • O novo escopo https://www.googleapis.com/auth/youtube.force-ssl da API agora é válido para qualquer método de API que era compatível com o escopo https://www.googleapis.com/auth/youtube.

  • A API agora oferece suporte aos seguintes erros:

    Tipo de erro Detalhe do erro Descrição
    badRequest (400) invalidRating O método videos.rate retornará esse erro se a solicitação contiver um valor inesperado para o parâmetro rating.
  • O método subscriptions.insert não é mais compatível com o erro subscriptionLimitExceeded, que indicava anteriormente que o assinante identificado com a solicitação havia excedido o limite da taxa de assinatura.

2 de abril de 2015

Esta atualização contém as seguintes alterações:

  • O novo recurso captions representa uma faixa de legenda do YouTube. Uma faixa de legenda é associada exatamente a um vídeo do YouTube.

    A API oferece suporte a métodos para listar, inserir, atualizar, fazer o download e excluir faixas de legenda.

  • O guia de migração também foi atualizado para explicar como migrar aplicativos que ainda usam a funcionalidade de legendas na API v2.

  • O novo escopo https://www.googleapis.com/auth/youtube.force-ssl da API exige que a comunicação com o servidor dela ocorra por uma conexão SSL.

    Esse novo escopo concede o mesmo acesso que o escopo https://www.googleapis.com/auth/youtube. Na verdade, esses dois escopos são funcionalmente idênticos porque o servidor da API do YouTube está disponível apenas por meio de um endpoint HTTPS. Consequentemente, mesmo que o escopo https://www.googleapis.com/auth/youtube não exija uma conexão SSL, não há outra maneira de fazer uma solicitação de API.

    O novo escopo é obrigatório em chamadas para todos os métodos do recurso caption.

11 de março de 2015

Esta atualização contém as seguintes alterações:

  • O guia de migração da API YouTube Data (v3) contém uma nova guia, chamada Novo na API v3, que lista os recursos compatíveis com a API v3 e com os quais a API v2 não tem suporte. Os mesmos recursos eram anteriormente e ainda estão listados em outras guias do guia. Por exemplo, o novo recurso que explica como atualizar os dados de uma campanha promocional em vídeo do canal também está listado na guia Canais (perfis).

  • O Guia de migração da API YouTube Data (v3) foi atualizado para informar que a API v3 será compatível com o seguinte recurso da API v2:

  • O Guia de migração da API YouTube Data (v3) foi atualizado para informar que os seguintes recursos da API v2 não serão compatíveis com a API v3:

    • Recuperar recomendações de vídeos – A API v3 não recupera uma lista que contém apenas vídeos recomendados para o usuário atual da API. No entanto, é possível usar a API v3 para encontrar vídeos recomendados chamando o método activities.list e definindo o valor do parâmetro home como true.

      Na resposta da API, um recurso vai corresponder a um vídeo recomendado se o valor da propriedade snippet.type for recommendation. Nesse caso, as propriedades contentDetails.recommendation.reason e contentDetails.recommendation.seedResourceId terão informações sobre por que o vídeo foi recomendado. Não há garantia de que a resposta vai conter um número específico de vídeos recomendados.

    • Recuperar sugestões de canal

    • Recuperar novos vídeos de inscrição – A API v3 não recupera uma lista que contém apenas os vídeos que foram enviados recentemente aos canais nos quais o usuário da API se inscreveu. No entanto, é possível usar a API v3 para encontrar novos vídeos de inscrição chamando o método activities.list e definindo o valor do parâmetro home como true.

      Na resposta da API, um recurso vai corresponder a um novo vídeo de inscrição se o valor da propriedade snippet.type for upload. Não há garantia de que a resposta terá qualquer número específico de novos vídeos de inscrição.

    • Suporte a feed RSS

    • Notificações push para atualizações de feed – A API v2 oferecia notificações push usando o protocolo de atualização simples (SDK) ou o PubSubHubbub (links em inglês) para monitorar os feeds de atividade dos usuários do YouTube. Notificações eram fornecidas sobre novas inscrições em canais e quando os vídeos eram avaliados, compartilhados, marcados como favoritos, comentados ou enviados.

      A API v3 será compatível com notificações push usando o protocolo PubSubHubbub, mas as notificações abrangerão apenas uploads e atualizações de títulos ou descrições de vídeos.

    • Localização do canal: a API v2 usou a tag <yt:location> para identificar a localização do usuário, conforme inserido no perfil público do canal no YouTube. Alguns desenvolvedores usaram esse campo para associar um canal a um país específico, mas os dados do campo não eram usados de maneira consistente para esse propósito.

    • Definir ou recuperar tags de desenvolvedor – A API v2 oferecia a capacidade de associar palavras-chave, ou tags de desenvolvedor, a um vídeo no momento em que o vídeo foi enviado. As tags de desenvolvedor não seriam exibidas para usuários do YouTube, mas os proprietários de vídeos poderiam recuperar vídeos que correspondessem a uma tag de desenvolvedor específica.

      A API v3 fornecerá um recurso semelhante, mas não idêntico. Especificamente, um desenvolvedor poderá pesquisar por vídeos enviados pelo próprio aplicativo do desenvolvedor. Para esse recurso, cada vídeo enviado é marcado automaticamente com o número do projeto associado ao aplicativo do desenvolvedor no Google Developers Console. Em seguida, o desenvolvedor usa o mesmo número de projeto para pesquisar vídeos.

    • Liste vídeos por data de publicação, contagem de visualizações ou classificação – Na API v2, o parâmetro orderby permite classificar os vídeos de uma playlist por posição, duração, data de publicação, título e vários outros valores. Na API v3, os itens da lista de reprodução são normalmente classificados por posição em ordem crescente e outras opções de classificação não estão disponíveis.

      Existem algumas exceções. Um novo envio, vídeo favorito, vídeo marcado com "Gostei" ou vídeo assistido recentemente é adicionado automaticamente como o primeiro item (snippet.position=0) para os seguintes tipos de playlists. Cada uma dessas listas é classificada efetivamente em ordem do item mais recente para o mais antigo, com base nos horários em que os itens foram adicionados à lista.

      • envios do usuário
      • vídeos favoritos
      • vídeos marcados como "Gostei"
      • histórico de visualização

      No entanto, um novo item adicionado à playlist "Assistir mais tarde" é adicionado como o último item da lista. Assim, ela é classificada do item mais antigo ao mais recente.

    • Processamento em lote: a API v3 é compatível com um dos casos de uso de processamento em lote para os quais a API v2 tinha suporte. Os métodos channels.list, channelSections.list, guideCategories.list, playlistItems.list, playlists.list, subscriptions.list, videoCategories.list e videos.list da API v3 aceitam um parâmetro id, que pode ser usado para especificar uma lista de IDs delimitada por vírgulas (IDs de vídeo, IDs de canal etc.). Ao usar esses métodos, você pode recuperar uma lista de vários recursos com uma única solicitação.

    Com essas alterações, o guia identifica todas as funcionalidades que eram suportadas na API antiga (v2), que serão descontinuadas na versão atual da API (v3).

4 de março de 2015

Esta atualização contém as seguintes alterações:

  • Os métodos channelSections.delete e channelSections.update agora oferecem suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos.

  • O uso das seguintes propriedades e das propriedades filhas foi descontinuado:

    • brandingSettings.image.backgroundImageUrl
    • brandingSettings.image.largeBrandedBannerImageImapScript
    • brandingSettings.image.largeBrandedBannerImageUrl
    • brandingSettings.image.smallBrandedBannerImageImapScript
    • brandingSettings.image.smallBrandedBannerImageUrl

    Observação:nenhuma dessas propriedades estava sujeita à política de descontinuação da API.

  • A nova propriedade contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons do recurso video identifica os motivos que explicam por que o vídeo recebeu a classificação DJCQT (Brasil).

  • A API agora oferece suporte aos seguintes erros:

    Tipo de erro Detalhe do erro Descrição
    notFound (404) channelNotFound O método channels.update retornará esse erro se o parâmetro id da solicitação especificar um canal que não pode ser encontrado.
    badRequest (400) manualSortRequiredinvalidValue Os métodos playlistItems.insert e playlistItems.update retornam esse erro se a solicitação tenta definir a posição do item da playlist, mas a playlist não usa a classificação manual. Por exemplo, os itens da playlist podem ser classificados por data ou popularidade. Para solucionar esse erro, remova o elemento snippet.position do recurso enviado no corpo da solicitação. Para que o item da playlist tenha uma posição específica na lista, primeiro é necessário atualizar a configuração de ordem da playlist para Manual. É possível ajustar essa configuração no Gerenciador de vídeos do YouTube.
    forbidden (403) channelClosed O método playlists.list retornará esse erro se o parâmetro channelId da solicitação especificar um canal que foi fechado.
    forbidden (403) channelSuspended O método playlists.list retornará esse erro se o parâmetro channelId da solicitação especificar um canal que foi suspenso.
    forbidden (403) playlistForbidden O método playlists.list retornará esse erro se o parâmetro id da solicitação não for compatível com a solicitação ou se ela não estiver autorizada corretamente.
    notFound (404) channelNotFound O método playlists.list retornará esse erro se o parâmetro channelId da solicitação especificar um canal que não pode ser encontrado.
    notFound (404) playlistNotFound O método playlists.list retornará esse erro se o parâmetro id da solicitação especificar uma playlist que não pode ser encontrada.
    notFound (404) videoNotFound O método videos.list retornará esse erro se o parâmetro id da solicitação especificar um vídeo que não pode ser encontrado.
    badRequest (400) invalidRating O método videos.rate retornará esse erro se a solicitação tiver um valor inesperado para o parâmetro rating.

2 de março de 2015

Esta atualização contém as seguintes alterações:

14 de janeiro de 2015

Esta atualização contém as seguintes alterações:

  • O Guia de migração da API YouTube Data (v3) foi atualizado para explicar como usar a API v3 para enviar vídeos com JavaScript. Consulte a seção Enviar um vídeo para mais detalhes. Essa funcionalidade é comparável à funcionalidade de upload pelo navegador compatível com a API v2. Essa mudança no guia de migração não reflete uma mudança real na API, mas sim a disponibilidade do novo exemplo de código para upload de vídeos com JavaScript do lado do cliente.

    Considerando o suporte ao upload de vídeos com a biblioteca cliente JavaScript e o CORS, o guia de migração não lista mais o upload baseado no navegador como um recurso que pode ser descontinuado na API v3.

  • A documentação do método videos.insert foi atualizada para incluir o novo exemplo de código JavaScript descrito acima. A lista de exemplos de código JavaScript para a API YouTube Data (v3) também foi atualizada.

11 de novembro de 2014

Esta atualização contém as seguintes alterações:

  • O custo da cota de uma chamada para o método search.list foi alterado para 100 unidades.

    Importante:em muitos casos, é possível usar outros métodos de API para recuperar informações com um custo menor. Por exemplo, considere estas duas maneiras de encontrar vídeos enviados para o canal GoogleDevelopers.

    • Custo da cota: 100 unidades

      Chame o método search.list e pesquise GoogleDevelopers.

    • Custo da cota: 6 unidades

      Chame o método channels.list para encontrar o ID do canal correto. Defina o parâmetro forUsername como GoogleDevelopers e o parâmetro part como contentDetails. Na resposta da API, a propriedade contentDetails.relatedPlaylists.uploads especifica o ID da playlist para os vídeos enviados do canal.

      Em seguida, chame o método playlistItems.list e defina o parâmetro playlistId como o ID capturado e o parâmetro part como snippet.

8 de outubro de 2014

Esta atualização contém as seguintes alterações:

  • O recurso channel contém duas novas propriedades:

    • A propriedade status.longUploadsStatus indica se o canal está qualificado para enviar vídeos com mais de 15 minutos de duração. Essa propriedade só é retornada se o proprietário do canal autorizar a solicitação de API. Os valores de propriedade válidos são:

      • allowed – O canal pode enviar vídeos com mais de 15 minutos.
      • eligible – O canal está qualificado para enviar vídeos com mais de 15 minutos, mas precisa ativar o recurso primeiro.
      • disallowed – O canal não pode ou não se qualifica para enviar vídeos com mais de 15 minutos de duração.

      Consulte a definição da propriedade para mais informações sobre esses valores. A Central de Ajuda do YouTube também fornece informações mais detalhadas sobre esse recurso.

    • A propriedade invideoPromotion.useSmartTiming indica se a campanha promocional do canal usa "tempo inteligente". Esse recurso tenta exibir promoções em um ponto do vídeo em que elas têm mais chances de serem clicados e menos chances de atrapalharem a experiência de visualização. Esse recurso também seleciona uma única promoção para mostrar em cada vídeo.

  • As definições das propriedades snippet.title e snippet.categoryId do recurso video foram atualizadas para esclarecer como a API processa chamadas para o método videos.update Se você chamar esse método para atualizar a parte snippet de um recurso video, será necessário definir um valor para as duas propriedades.

    Se você tentar atualizar a parte snippet de um recurso video e não definir um valor para as duas propriedades, a API vai retornar um erro invalidRequest. A descrição do erro também foi atualizada.

  • A propriedade contentDetails.contentRating.oflcRating do recurso video, que identifica a classificação de um vídeo do Escritório de Classificação de Filmes e Literatura da Nova Zelândia, agora aceita duas novas classificações: oflcRp13 e oflcRp16. Elas correspondem às classificações RP13 e RP16, respectivamente.

  • O método channelBanners.insert agora oferece suporte ao seguinte erro:

    Tipo de erro Detalhe do erro Descrição
    badRequest bannerAlbumFull O álbum de arte do canal do YouTube do proprietário do canal tem muitas imagens. O proprietário do canal precisa acessar http://photos.google.com, acessar a página dos álbuns e remover algumas imagens do álbum.

12 de setembro de 2014

Esta atualização contém as seguintes alterações:

  • O custo da cota para uma chamada para o método search.list mudou de uma unidade para duas unidades, além do custo das partes de recursos especificadas.

13 de agosto de 2014

Esta atualização contém as seguintes alterações:

  • O método subscriptions.insert agora oferece suporte ao seguinte erro:

    Tipo de erro Detalhe do erro Descrição
    badRequest subscriptionLimitExceeded O assinante identificado com a solicitação ultrapassou o limite da taxa de assinatura. Você pode tentar mais assinaturas em algumas horas.

12 de agosto de 2014

Esta atualização contém as seguintes alterações:

  • Um novo guia, intitulado Como migrar seu aplicativo para a API YouTube Data (v3), explica como usar a API YouTube Data (v3) para aproveitar as funcionalidades disponíveis na API de dados do YouTube (v2). A API mais antiga foi oficialmente descontinuada em 4 de março de 2014. Este guia tem como objetivo ajudá-lo a migrar aplicativos que ainda usam a API v2 para a API mais recente.

8 de julho de 2014

Esta atualização contém as seguintes alterações:

  • O método playlists.insert agora oferece suporte ao seguinte erro:

    Tipo de erro Detalhe do erro Descrição
    badRequest maxPlaylistExceeded Esse erro ocorre quando não é possível criar uma playlist porque o canal já tem o número máximo permitido de playlists.

18 de junho de 2014

Esta atualização contém as seguintes alterações:

  • A descrição de cada método de API foi atualizada para incluir o custo de cota incorrido por uma chamada para esse método. Da mesma forma, as definições dos parâmetros part foram atualizadas para especificar o custo da cota de cada parte que pode ser recuperada em uma chamada de API. Por exemplo, uma chamada para o método subscriptions.insert tem um custo de cota de aproximadamente 50 unidades. O recurso subscription também contém três partes (snippet, contentDetails e subscriberSnippet), e cada uma delas tem um custo de duas unidades.

    Lembre-se de que os custos da cota podem mudar sem aviso prévio.

  • O recurso video agora oferece suporte a 43 novos sistemas de classificação de conteúdo, que identificam as classificações que os vídeos receberam de várias agências nacionais de classificação. Filipinas}{14.

28 de maio de 2014

Esta atualização contém as seguintes alterações:

  • O método search.list agora oferece suporte aos parâmetros location e locationRadius, que permitem pesquisar vídeos associados a uma localização geográfica. Uma solicitação deve especificar um valor para ambos os parâmetros para recuperar os resultados com base no local, e a API retornará um erro se uma solicitação incluir apenas um dos dois parâmetros.

    • O parâmetro location especifica as coordenadas de latitude/longitude no centro da área geográfica circular.

    • O parâmetro locationRadius especifica a distância máxima que o local associado a um vídeo pode estar do centro da área para que o vídeo ainda seja incluído nos resultados da pesquisa.

13 de maio de 2014

Esta atualização contém as seguintes alterações:

  • A propriedade invideoPromotion.items[] do recurso channel foi atualizada para informar que normalmente só é possível definir um item promovido para seu canal. Se você tentar inserir muitos itens promovidos, a API retornará um erro tooManyPromotedItems, que tem um código de status HTTP 400.

  • O recurso channelSection agora pode conter informações sobre alguns novos tipos de conteúdo em destaque. A propriedade snippet.type do recurso channelSection agora aceita os seguintes valores:

    • postedPlaylists: playlists que o proprietário do canal postou no feed de atividades do canal
    • postedVideos: vídeos que o proprietário do canal postou no feed de atividades do canal
    • subscriptions: canais em que o proprietário do canal se inscreveu

  • A nova propriedade contentDetails.contentRating.ifcoRating do recurso video identifica a classificação que um vídeo recebeu do Escritório de Classificação de Filmes da Irlanda.

  • A definição da propriedade position.cornerPosition do recurso watermark foi atualizada para mostrar que a marca-d'água sempre aparece no canto superior direito do player.

  • A definição do parâmetro q para o método search.list foi atualizada para mostrar que o termo de consulta pode usar o operador booleano NOT (-) para excluir vídeos associados a um termo de pesquisa específico. O valor também pode usar o operador booleano OR (|) para encontrar vídeos associados a um dos vários termos de pesquisa.

  • A definição da propriedade pageInfo.totalResults que é retornada em uma resposta da API a uma chamada search.list foi atualizada para mostrar que o valor é uma aproximação e pode não representar um valor exato. Além disso, o valor máximo é 1.000.000. Você não deve usar esse valor para criar links de paginação. Em vez disso, use os valores de propriedade nextPageToken e prevPageToken para determinar se os links de paginação serão mostrados ou não.

  • Os métodos watermarks.set e watermarks.unset foram atualizados para refletir que a API retorna um código de resposta HTTP 204 para solicitações bem-sucedidas para esses métodos.

2 de maio de 2014

Esta atualização contém as seguintes alterações:

  • O novo recurso i18nLanguage identifica um idioma de aplicativo que o site do YouTube suporta. O idioma do aplicativo também pode ser chamado de linguagem da interface. Para o site do YouTube, um idioma de aplicativo pode ser selecionado automaticamente com base nas configurações da Conta do Google, idioma do navegador ou local do IP, e um usuário também pode selecionar manualmente o idioma desejado para a interface no rodapé do site do YouTube.

    A API suporta um método para listar os idiomas de aplicativos compatíveis. Os idiomas aceitos podem ser usados como o valor do parâmetro hl ao chamar métodos de API, como videoCategories.list e guideCategories.list.

  • O novo recurso i18nRegion identifica uma área geográfica que um usuário do YouTube pode selecionar como região de conteúdo preferida. A região de conteúdo também pode ser chamada de localidade de conteúdo. Para o site do YouTube, uma região de conteúdo pode ser selecionada automaticamente com base em heurística como o domínio do YouTube ou a localização do IP do usuário, e um usuário também pode selecionar manualmente a região de conteúdo desejada no rodapé do site do YouTube.

    A API aceita um método para listar regiões de conteúdo compatíveis. Os códigos de região compatíveis podem ser usados como o valor do parâmetro regionCode ao chamar métodos de API, como search.list, videos.list, activities.list e videoCategories.list.

7 de abril de 2014

Esta atualização contém as seguintes alterações:

  • O novo recurso channelSection contém informações sobre um conjunto de vídeos que um canal decidiu apresentar. Por exemplo, uma seção pode mostrar os envios mais recentes, os envios mais populares ou os vídeos de uma ou mais playlists.

    A API é compatível com métodos para listar, inserir, atualizar ou excluir seções de canais. Para recuperar uma lista de seções de canais do usuário autenticado, especifique um determinado ID ou uma lista de IDs exclusivos de seção do canal.

    A documentação de erros também foi atualizada para descrever as mensagens de erro compatíveis com a API especificamente para esses novos métodos.

  • A definição do objeto fileDetails do recurso video foi atualizada para explicar que esse objeto só vai ser retornado se a propriedade processingDetails.fileDetailsAvailability do vídeo tiver o valor available.

    Da mesma forma, a definição do objeto suggestions do recurso video foi atualizada para explicar que esse objeto só vai ser retornado se a propriedade processingDetails.tagSuggestionsAvailability ou processingDetails.editorSuggestionsAvailability do vídeo tiver um valor available.

  • A documentação dos métodos videos.insert e videos.update foi atualizada para refletir que a propriedade status.publishAt pode ser definida ao chamar esses métodos.

  • A definição do objeto invideoPromotion do recurso channel foi atualizada para explicar que o objeto só pode ser recuperado pelo proprietário do canal.

  • A lista de parâmetros do método videos.rate foi atualizada para refletir que esse método não é realmente compatível com o parâmetro onBehalfOfContentOwner. Esse foi um erro de documentação, porque as solicitações videos.rate que definem esse parâmetro retornam um erro 500.

31 de março de 2014

Esta atualização contém as seguintes alterações:

13 de março de 2014

Esta atualização contém as seguintes alterações:

  • A API agora oferece suporte à parte contentOwnerDetails para recursos channel. A nova parte contém dados do canal relevantes para parceiros do YouTube vinculados ao canal, incluindo o ID do proprietário do conteúdo vinculado ao canal e a data e hora em que o proprietário do conteúdo e o canal foram vinculados. Essa nova parte não está sujeita à política de descontinuação.

  • A documentação agora lista o tamanho máximo de caracteres permitido para as seguintes propriedades:

    Recurso Propriedade Tamanho máximo
    channel invideoPromotion.items[].customMessage 40 caracteres
    video snippet.title 100 caracteres
    video snippet.description 5.000 bytes
    video snippet.tags 500 caracteres. O valor da propriedade é uma lista, e as vírgulas entre os itens da lista são contabilizadas no limite.
  • O uso da propriedade brandingSettings.watch.featuredPlaylistId do recurso channel foi descontinuado. A API retornará um erro se você tentar definir o valor.

  • As seguintes propriedades de recurso video foram adicionadas à lista de valores que podem ser definidos ao inserir ou atualizar um vídeo:

  • A documentação de erros agora especifica o código de resposta HTTP para cada tipo de erro.

  • A API agora oferece suporte aos seguintes erros:

    Tipo de erro Detalhe do erro Descrição
    badRequest (400) invalidCriteria O método channels.list retorna esse erro se a solicitação especificar parâmetros de filtro que não podem ser usados em conjunto.
    badRequest (400) channelTitleUpdateForbidden O método channels.update retornará esse erro se você tentar atualizar a parte brandingSettings de um canal e mudar o valor da propriedade brandingSettings.channel.title. A API não retornará o erro se você omitir a propriedade.
    badRequest (400) invalidRecentlyUploadedBy O método channels.update retornará esse erro se a propriedade invideoPromotion.items[].id.recentlyUploadedBy especificar um ID do canal inválido.
    badRequest (400) invalidTimingOffset O método channels.update retornará esse erro se a parte invideoPromotion especificar um deslocamento de tempo inválido.
    badRequest (400) tooManyPromotedItems O método channels.update retornará esse erro se a parte invideoPromotion especificar um número maior de itens promovidos do que o permitido.
    forbidden (403) promotedVideoNotAllowed O método channels.update retornará esse erro se a propriedade invideoPromotion.items[].id.videoId especificar um ID de vídeo que não pode ser encontrado ou não pode ser usado como um item promovido.
    forbidden (403) websiteLinkNotAllowed O método channels.update retornará esse erro se a propriedade invideoPromotion.items[].id.websiteUrl especificar um URL não permitido.
    required (400) requiredTimingType O método channels.update retornará esse erro se uma solicitação não especificar as configurações de tempo padrão para quando o YouTube deve exibir um item promovido.
    required (400) requiredTiming O método channels.update precisa especificar um objeto invideoPromotion.items[].timing para cada item promovido.
    required (400) requiredWebsiteUrl O método channels.update precisa especificar uma propriedade invideoPromotion.items[].id.websiteUrl para cada item promovido.
    badRequest (400) invalidPublishAt O método videos.insert retornará esse erro se os metadados da solicitação especificarem um horário de publicação programado inválido.

4 de março de 2014

Esta atualização contém as seguintes alterações:

5 de dezembro de 2013

Esta atualização contém as seguintes alterações:

  • A documentação do método search.list foi atualizada para indicar corretamente que não é preciso especificar um valor para exatamente um parâmetro de filtro ao enviar uma solicitação de pesquisa. Em vez disso, você pode definir um valor para nenhum parâmetro de filtro ou para um parâmetro de filtro.

  • As definições dos parâmetros do método search.list foram atualizadas para informar que você vai precisar definir o valor do parâmetro type como video se também especificar um valor para qualquer um dos parâmetros abaixo:

    • eventType
    • videoCaption
    • videoCategoryId
    • videoDefinition
    • videoDimension
    • videoDuration
    • videoEmbeddable
    • videoLicense
    • videoSyndicated
    • videoType

  • O tamanho mínimo das imagens de banner do canal enviadas foi reduzido para 2048px por 1152px. Antes, o tamanho mínimo era de 2120px por 1192px. Além disso, a documentação do recurso channel especifica os tamanhos máximos de todas as imagens de banner exibidas pela API. Por exemplo, o tamanho máximo da imagem brandingSettings.image.bannerTvImageUrl para apps de televisão é de 2.120 x 1.192 pixels, mas a imagem real pode ter 2.048 x 1.152 pixels. A Central de Ajuda do YouTube fornece orientações adicionais para otimizar a arte do canal para exibição em diferentes tipos de dispositivos.

  • Várias definições de propriedades de recursos channel foram atualizadas para refletir as seguintes informações:

    • O valor da propriedade brandingSettings.channel.description tem um comprimento máximo de 1.000 caracteres.
    • A propriedade brandingSettings.channel.featuredChannelsTitle tem um tamanho máximo de 30 caracteres.
    • Agora, a propriedade brandingSettings.channel.featuredChannelsUrls[] pode listar até 100 canais.
    • O valor da propriedade brandingSettings.channel.unsubscribedTrailer, se definido, precisa especificar o ID do vídeo do YouTube de um vídeo público ou não listado que pertence ao proprietário do canal.

  • O método channels.update agora oferece suporte a atualizações da propriedade invideoPromotion.items[].promotedByContentOwner. Essa propriedade indica se o nome do proprietário do conteúdo será mostrado quando a promoção for exibida. Ela só poderá ser definida se a solicitação de API que define o valor da propriedade for feita em nome do proprietário do conteúdo usando o parâmetro onBehalfOfContentOwner.

  • Os métodos playlistItems.list e playlistItems.insert agora oferecem suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos.

  • A propriedade contentDetails.contentRating.acbRating agora pode especificar uma classificação da Australian Classification Board (ACB) para filmes ou da Australian Communications and Media Authority (ACMA) para a programação de televisão infantil.

  • As novas propriedades contentDetails.contentRating.catvRating e contentDetails.contentRating.catvfrRating identificam as classificações que um vídeo recebeu de acordo com o sistema de classificação de TV do Canadá e o sistema de classificação em francês Régie du cinéma, usado no Quebec, respectivamente.

  • A nova propriedade snippet.assignable do recurso videoCategory indica se os vídeos atualizados ou enviados recentemente podem ser associados a essa categoria de vídeo.

  • Foram adicionados exemplos de código para os seguintes métodos:

24 de outubro de 2013

Esta atualização contém as seguintes alterações:

  • A API inclui dois recursos adicionais desenvolvidos para ajudar a encontrar e apresentar conteúdo de transmissão ao vivo:

    A nova propriedade snippet.liveBroadcastContent nos resultados da pesquisa indica se um recurso de vídeo ou canal tem conteúdo de transmissão ao vivo. Os valores de propriedade válidos são upcoming, active e none.

    • A nova propriedade snippet.liveBroadcastContent do recurso video indica se o vídeo é uma transmissão ao vivo futura ou ativa. A lista abaixo explica os possíveis valores da propriedade:

      • upcoming – O vídeo é uma transmissão ao vivo que ainda não começou.
      • active – O vídeo é uma transmissão ao vivo em andamento.
      • none – O vídeo não é uma transmissão ao vivo futura ou ativa. Este será o valor da propriedade para transmissões concluídas que ainda podem ser visualizadas no YouTube.

    • A nova propriedade liveStreamingDetails do recurso video é um objeto que contém metadados sobre uma transmissão de vídeo ao vivo. Para recuperar esses metadados, inclua liveStreamingDetails na lista de partes de recursos do valor do parâmetro part. Os metadados incluem as seguintes propriedades novas:

      Para recuperar esses metadados, inclua liveStreamingDetails no valor do parâmetro part ao chamar os métodos videos.list, videos.insert ou videos.update.

    Dois outros recursos de identificação de conteúdo de transmissão ao vivo foram lançados em 1o de outubro de 2013: o parâmetro eventType do método search.list e a propriedade snippet.liveBroadcastContent do resultado da pesquisa.

  • O método videos.insert agora oferece suporte ao parâmetro notifySubscribers, que indica se o YouTube precisa enviar uma notificação sobre o novo vídeo aos usuários que se inscreverem no canal do vídeo. O valor padrão do parâmetro é True, que indica que os inscritos serão notificados sobre vídeos recém-enviados. No entanto, o proprietário de um canal que envia muitos vídeos pode preferir definir o valor como False para evitar o envio de notificações sobre cada novo vídeo aos inscritos do canal.

  • A lista de propriedades que podem ser modificadas ao chamar o método channels.update foi atualizada para incluir as propriedades invideoPromotion.items[].customMessage e invideoPromotion.items[].websiteUrl. Além disso, a lista foi modificada para identificar as propriedades brandingSettings que podem ser modificadas. Essas propriedades brandingSettings já eram modificáveis. Portanto, a alteração na documentação não reflete uma mudança na funcionalidade existente da API.

  • Os métodos playlists.insert, playlists.update e playlists.delete agora oferecem suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos.

  • O método playlists.insert agora oferece suporte ao parâmetro onBehalfOfContentOwnerChannel, que já é aceito por vários outros métodos

  • A propriedade contentDetails.contentRating.tvpgRating do recurso video agora aceita um valor de pg14, que corresponde a uma classificação TV-14.

  • A definição da propriedade snippet.liveBroadcastContent, que faz parte dos resultados da pesquisa, foi corrigida para refletir que live é um valor de propriedade válido, mas active não é.

  • A propriedade contentDetails.contentRating.mibacRating do recurso video agora aceita duas outras classificações:

    • mibacVap (VAP): as crianças devem estar acompanhadas por um adulto.
    • mibacVm6 (V.M.6): restrito a 6 anos ou mais.
    • mibacVm12 (V.M.12): restrito a 12 anos ou mais.

  • A nova propriedade invideoPromotion.items[].promotedByContentOwner do recurso channel indica se o nome do proprietário do conteúdo será mostrado quando a promoção for mostrada. Esse campo só pode ser definido se a solicitação à API que define o valor estiver sendo feita em nome do proprietário do conteúdo. Consulte o parâmetro onBehalfOfContentOwner para mais informações.

1o de outubro de 2013

Esta atualização contém as seguintes alterações:

  • O novo objeto auditDetails do recurso channel contém dados de canal que uma rede multicanal (RM) avalia ao determinar se aceita ou rejeita um canal específico. Observe que qualquer solicitação de API que recupera essa parte do recurso precisa fornecer um token de autorização que contenha o escopo https://www.googleapis.com/auth/youtubepartner-channel-audit. Além disso, qualquer token que use esse escopo precisará ser revogado quando a RM decidir aceitar ou rejeitar o canal ou até duas semanas após a data de emissão do token.

  • A propriedade invideoPromotion.items[].id.type do recurso channel agora é compatível com o valor recentUpload, que indica que o item promovido é o vídeo enviado mais recentemente de um canal especificado.

    Por padrão, o canal é o mesmo para o qual os dados de promoção in-video são definidos. No entanto, você pode promover o vídeo enviado mais recentemente de outro canal, definindo o valor da nova propriedade invideoPromotion.items[].id.recentlyUploadedBy como o ID desse canal.

  • O recurso channel contém três novas propriedades – brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl, brandingSettings.image.bannerTvHighImageUrl – que especificam os URLs para as imagens de banner que são exibidas nas páginas de canais em aplicativos de televisão.

  • A nova propriedade snippet.liveBroadcastContent nos resultados da pesquisa indica se um recurso de vídeo ou canal tem conteúdo de transmissão ao vivo. Os valores de propriedade válidos são upcoming, active e none.

    • Para um recurso video, o valor upcoming indica que o vídeo é uma transmissão ao vivo que ainda não foi iniciada, enquanto o valor active indica que o vídeo é uma transmissão ao vivo em andamento.
    • Para um recurso channel, o valor upcoming indica que o canal tem uma transmissão programada que ainda não foi iniciada, enquanto o valor acive indica que o canal tem uma transmissão ao vivo em andamento.

  • No recurso watermark, a propriedade targetChannelId mudou de um objeto para uma string. Em vez de conter uma propriedade filha que especifique o ID do canal do YouTube ao qual a imagem de marca d'água está vinculada, a propriedade targetChannelId agora especifica esse valor em si. Dessa forma, a propriedade targetChannelId.value do recurso foi removida.

  • O método thumbnails.set agora oferece suporte ao parâmetro onBehalfOfContentOwner, que já é aceito por vários outros métodos

  • O método search.list agora oferece suporte ao parâmetro eventType, que restringe uma pesquisa para retornar apenas eventos de transmissão ativos, futuros ou concluídos.

  • A nova propriedade contentDetails.contentRating.mibacRating identifica a classificação que um vídeo recebeu do Ministero dei Beni e delle Attivita Culturali e del Turismo da Itália.

  • A API agora oferece suporte aos seguintes erros:

    Tipo de erro Detalhe do erro Descrição
    badRequest invalidImage O método thumbnails.set retornará esse erro se o conteúdo da imagem fornecido for inválido.
    forbidden videoRatingDisabled O método videos.rate retornará esse erro se o proprietário do vídeo que está sendo avaliado tiver desativado as classificações para esse vídeo.

27 de agosto de 2013

Esta atualização contém as seguintes alterações:

  • O novo recurso watermark identifica uma imagem que é mostrada durante reproduções de vídeos de um canal especificado. Você também pode especificar um canal de destino ao qual a imagem será vinculada, além dos detalhes de sincronismo que determinam quando uma marca d'água aparece durante reproduções de vídeo e o período em que ela estará visível.

    O método watermarks.set faz upload e define a imagem de marca d'água de um canal. O método watermarks.unset exclui a imagem de marca d'água de um canal.

    A documentação do erro descreve as mensagens de erro que a API oferece suporte especificamente para os métodos watermarks.set e watermarks.unset.

  • A nova propriedade statistics.hiddenSubscriberCount do recurso channel contém um valor booleano que indica se o número de inscritos do canal está oculto. Assim, o valor da propriedade será false se a contagem de inscritos do canal for visível publicamente.

  • O método playlists.list agora oferece suporte aos parâmetros onBehalfOfContentOwner e onBehalfOfContentOwnerChannel. Ambos os parâmetros já são compatíveis com vários outros métodos.

  • O método videos.list agora oferece suporte ao parâmetro regionCode, que identifica a região de conteúdo para a qual um gráfico precisa ser recuperado. Este parâmetro pode ser usado apenas em conjunto com o parâmetro chart. O valor do parâmetro é um código de país ISO 3166-1 Alfa 2.

  • error documentation descreve o novo erro de solicitação comum a seguir, que pode ocorrer em vários métodos de API:

    Tipo de erro Detalhe do erro Descrição
    forbidden insufficientPermissions Os escopos associados ao token OAuth 2.0 fornecido para a solicitação não são suficientes para acessar os dados solicitados.

15 de agosto de 2013

Esta atualização contém as seguintes alterações:

  • O objeto invideoPromotion do recurso channel tem as seguintes propriedades novas e atualizadas:

    • A API agora oferece suporte à capacidade de especificar um site como um item promovido. Para isso, defina o valor da propriedade invideoPromotion.items[].id.type como website e use a nova propriedade invideoPromotion.items[].id.websiteUrl para especificar o URL. Use também a nova propriedade invideoPromotion.items[].customMessage para definir uma mensagem personalizada que será mostrada na promoção.

      Os links podem ser associados a websites, sites comerciais ou sites de redes sociais. Consulte as instruções da Central de Ajuda do YouTube para sites associados e sites de comerciantes e saiba como ativar links para seu conteúdo.

      Ao adicionar links promocionais, você concorda que eles não serão usados para redirecionar tráfego para sites não autorizados e que esses links obedecerão às políticas do Google AdWords, às políticas de anúncios do YouTube, às diretrizes da comunidade e aos Termos de Serviço do YouTube.

    • As propriedades relacionadas às configurações de tempo para exibir itens promovidos durante a reprodução do vídeo foram reestruturadas:

      • O objeto invideoPromotion.timing foi movido para invideoPromotion.items[].timing. Este objeto agora permite que você personalize os dados de marcação de tempo de cada item promovido na lista do invideoPromotion.items[].

      • O novo objeto invideoPromotion.defaultTiming especifica as configurações de tempo padrão para sua promoção. Essas configurações definem quando um item promovido será exibido durante a reprodução de um dos vídeos do seu canal. É possível substituir o tempo padrão de qualquer item promovido usando o objeto invideoPromotion.items[].timing.

      • A nova propriedade invideoPromotion.items[].timing.durationMs especifica o tempo, em milissegundos, de exibição da promoção. O objeto invideoPromotion.defaultTiming também contém um campo durationMs que especifica o tempo padrão de exibição do item promovido.

    • As propriedades invideoPromotion.items[].type e invideoPromotion.items[].videoId foram movidas para o objeto invideoPromotion.items[].id.

  • O método subscriptions.list agora oferece suporte aos parâmetros onBehalfOfContentOwner e onBehalfOfContentOwnerChannel. Ambos os parâmetros já são compatíveis com vários outros métodos.

  • Na resposta da API a uma solicitação thumbnails.set, o valor da propriedade kind mudou de youtube#thumbnailListResponse para youtube#thumbnailSetResponse.

  • Foram adicionados exemplos de código para os seguintes métodos:

    O exemplo em Python para o método playlistItems.insert também foi removido, já que a funcionalidade demonstrada agora é processada pelo método videos.rate.

  • error documentation descreve o novo erro de contexto de solicitação a seguir, que pode ocorrer em qualquer método de API compatível com o parâmetro de solicitação mine:

    Tipo de erro Detalhe do erro Descrição
    badRequest invalidMine O parâmetro mine não pode ser usado em solicitações em que o usuário autenticado é um parceiro do YouTube. Você precisa remover o parâmetro mine, fazer a autenticação como um usuário do YouTube removendo o parâmetro onBehalfOfContentOwner ou atuar como um dos canais do parceiro fornecendo o parâmetro onBehalfOfContentOwnerChannel, se disponível para o método chamado.

8 de agosto de 2013

Esta atualização contém as seguintes alterações:

30 de julho de 2013

Esta atualização contém as seguintes alterações:

  • Em um recurso channelBanner, o valor da propriedade kind mudou de youtube#channelBannerInsertResponse para youtube#channelBannerResource. Esse recurso é retornado em resposta a uma solicitação channelBanners.insert.

  • A nova propriedade brandingSettings.channel.profileColor do recurso channel especifica uma cor de destaque que complementa o conteúdo do canal. O valor da propriedade é um sinal de cerquilha (#) seguido por uma string hexadecimal de seis caracteres, como #2793e6.

  • A API agora permite especificar se uma inscrição é para todas as atividades de um canal ou apenas para novos envios. A nova propriedade contentDetails.activityType do recurso subscription identifica os tipos de atividades sobre as quais o assinante será notificado. Os valores de propriedade válidos são all e uploads.

  • O método videos.list aceita novos parâmetros para recuperar um gráfico dos vídeos mais assistidos no YouTube:

    • O parâmetro chart identifica o gráfico que você quer recuperar. Atualmente, o único valor compatível é mostPopular. O parâmetro chart é de filtro, ou seja, não pode ser usado na mesma solicitação que outros parâmetros de filtro (id e myRating).
    • O parâmetro videoCategoryId identifica a categoria de vídeo para a qual o gráfico precisa ser recuperado. Este parâmetro pode ser usado apenas em conjunto com o parâmetro chart. Por padrão, os gráficos não são restritos a determinada categoria.

  • A nova propriedade topicDetails.relevantTopicIds[] do recurso video fornece uma lista de IDs de tópicos do Freebase relevantes para o vídeo ou o conteúdo dele. Os assuntos desses temas podem ser mencionados ou aparecer no vídeo.

  • A propriedade recordingDetails.location.elevation do recurso video foi renomeada como recordingDetails.location.altitude, e a propriedade fileDetails.recordingLocation.location.elevation dela foi renomeada como fileDetails.recordingLocation.location.altitude

  • O objeto contentDetails.contentRating do recurso video especifica as classificações que um vídeo recebeu de acordo com vários esquemas, incluindo classificações MPAA, classificações TVPG e assim por diante. Para cada sistema de classificação, a API agora oferece suporte a um valor de classificação que indica que o vídeo não foi classificado. Observe que, para as classificações MPAA, uma classificação "sem classificação" é frequentemente usada para identificar versões não cortadas de filmes para os quais a versão cortada do filme recebeu uma classificação oficial.

  • A nova propriedade contentDetails.contentRating.ytRating do recurso video identifica o conteúdo com restrição de idade. O valor da propriedade será ytAgeRestricted se o YouTube identificar que o vídeo apresenta conteúdo impróprio para usuários com menos de 18 anos. Se a propriedade estiver ausente ou se o valor da propriedade estiver vazio, o conteúdo não terá sido identificado como uma restrição de idade.

  • O uso do parâmetro mySubscribers do método channels.list foi descontinuado. Use o método subscriptions.list e o parâmetro mySubscribers para recuperar uma lista de inscritos no canal do usuário autenticado.

  • Os métodos channelBanners.insert, channels.update, videos.getRating e videos.rate agora oferecem suporte ao parâmetro onBehalfOfContentOwner. Esse parâmetro indica que o usuário autenticado está agindo em nome do proprietário do conteúdo especificado no valor de parâmetro.

  • A documentação do método channels.update foi atualizada para refletir o fato de que esse método pode ser usado para atualizar o objeto brandingSettings do recurso channel e as propriedades filhas dele. A documentação também lista a lista atualizada de propriedades que podem ser definidas para o objeto invideoPromotion do recurso channel.

  • O error documentation descreve os seguintes novos erros:

    Tipo de erro Detalhe do erro Descrição
    forbidden accountDelegationForbidden Esse erro não é específico de um método de API específico. Isso indica que o usuário autenticado não está autorizado a agir em nome da conta do Google especificada.
    forbidden authenticatedUserAccountClosed Esse erro não é específico de um método de API específico. Indica que a conta do YouTube do usuário autenticado foi encerrada. Se o usuário estiver agindo em nome de outra Conta do Google, esse erro indicaria que a outra conta foi encerrada.
    forbidden authenticatedUserAccountSuspended Esse erro não é específico de um método de API específico. Isso indica que a conta do YouTube do usuário autenticado está suspensa. Se o usuário estiver agindo em nome de outra Conta do Google, esse erro indicaria que a outra conta está suspensa.
    forbidden authenticatedUserNotChannel Esse erro não é específico de um método de API específico. Isso indica que o servidor da API não consegue identificar o canal associado à solicitação de API. Se a solicitação estiver autorizada e usar o parâmetro onBehalfOfContentOwner, você também precisará definir o parâmetro onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Esse erro não é específico de um método de API específico. O usuário do CMS não está autorizado a agir em nome do proprietário do conteúdo especificado.
    notFound contentOwnerAccountNotFound Esse erro não é específico de um método de API específico. A conta especificada do proprietário do conteúdo não foi encontrada.
    badRequest invalidPart Esse erro não é específico de um método de API específico. O parâmetro part da solicitação especifica partes que não podem ser gravadas ao mesmo tempo.
    badRequest videoChartNotFound O método videos.list retorna esse erro quando a solicitação especifica um gráfico de vídeo incompatível ou indisponível.
    notFound videoNotFound O método videos.update retorna esse erro para indicar que o vídeo que você está tentando atualizar não pode ser encontrado. Verifique o valor da propriedade id no corpo da solicitação para garantir que ele está correto.

10 de junho de 2013

Esta atualização contém as seguintes alterações:

  • O novo parâmetro forUsername do método channels.list permite recuperar informações sobre um canal especificando o nome de usuário do YouTube.

  • O método activities.list agora é compatível com o parâmetro regionCode, que instrui a API a retornar resultados relevantes para o país especificado. O YouTube usa esse valor quando a atividade anterior do usuário autorizado no YouTube não fornece informações suficientes para gerar o feed de atividade.

  • Os recursos de playlists agora contêm a propriedade snippet.tags. A propriedade será retornada somente para usuários autorizados que estiverem recuperando dados sobre as próprias playlists. Os usuários autorizados também podem definir tags de playlists ao chamar os métodos playlists.insert ou playlists.update.

  • O parâmetro onBehalfOfContentOwner, que antes era compatível com os métodos channels.list e search.list, agora também é compatível com os métodos videos.insert, videos.update e videos.delete. Quando esse parâmetro é usado em uma chamada para o método videos.insert, a solicitação também precisa especificar um valor para o novo parâmetro onBehalfOfContentOwnerChannel, que identifica o canal ao qual o vídeo será adicionado. O canal precisa estar vinculado ao proprietário do conteúdo especificado pelo parâmetro onBehalfOfContentOwner.

    O parâmetro indica que as credenciais de autorização da solicitação identificam um usuário do CMS do YouTube que está agindo em nome do proprietário do conteúdo especificado no valor do parâmetro. A conta do CMS com a qual o usuário autentica deve estar vinculada ao proprietário do conteúdo do YouTube especificado.

    Esse parâmetro é destinado a parceiros de conteúdo que possuem e gerenciam muitos canais do YouTube diferentes. O parâmetro permite que esses parceiros se autentiquem uma vez e obtenham acesso a todos os dados de vídeo e do canal, sem precisar fornecer credenciais de autenticação para cada canal individual.

    Especificamente em relação a essa versão, o parâmetro agora permite que um parceiro de conteúdo insira, atualize ou exclua vídeos em qualquer um dos canais do YouTube de sua propriedade.

  • O error documentation descreve os seguintes novos erros:

    Tipo de erro Detalhe do erro Descrição
    forbidden insufficientCapabilities Esse erro não é específico de um método de API específico. Isso indica que o usuário do CMS que está chamando a API não tem permissões suficientes para realizar a operação solicitada. Esse erro está associado ao uso do parâmetro onBehalfOfContentOwner, que pode ser usado em vários métodos de API.
    unauthorized authorizationRequired O método activities.list retorna esse erro quando a solicitação usa o parâmetro home, mas não está devidamente autorizada.
  • No recurso channels, a propriedade invideoPromotion.channelId foi removida porque o ID do canal já foi especificado usando a propriedade id do recurso.

  • O novo guia Como trabalhar com IDs de canal explica como a API usa IDs de canal. O guia pode ser especialmente útil para desenvolvedores que estão migrando da versão anterior da API e que têm aplicativos que solicitam conteúdo para o usuário do default ou que dependem da ideia de que cada canal do YouTube tem um nome de usuário exclusivo, o que não é mais o caso.

22 de maio de 2013

Esta atualização contém as seguintes alterações:

14 de maio de 2013

Esta atualização contém as seguintes alterações:

  • Páginas independentes agora listam exemplos de código para Java, .NET, PHP e Ruby.

  • A página que lista exemplos de código Python agora inclui exemplos para adicionar uma assinatura, criar uma playlist e atualizar um vídeo.

10 de maio de 2013

Esta atualização contém as seguintes alterações:

8 de maio de 2013

Esta atualização contém as seguintes alterações:

  • Os recursos do canal agora oferecem suporte ao objeto inVideoPromotion, que encapsula informações sobre uma campanha promocional associada ao canal. Um canal pode usar uma campanha promocional em vídeo para exibir imagens em miniatura de um vídeo promovido no player durante as reproduções dos vídeos do canal.

    É possível extrair esses dados incluindo invideoPromotion no valor de parâmetro part em uma solicitação channels.list.

  • O novo método channels.update pode ser usado para atualizar os dados de campanhas promocionais em vídeo de um canal. O método só oferece suporte a atualizações da parte invideoPromotion do recurso channel e ainda não oferece suporte a atualizações de outras partes desse recurso.

2 de maio de 2013

Esta atualização contém as seguintes alterações:

  • Os recursos do canal agora oferecem suporte à propriedade status.isLinked, que indica se os dados do canal identificam um usuário que já está vinculado a um nome de usuário do YouTube ou a uma conta do Google+. Um usuário que tenha um desses links já tem uma identidade pública do YouTube, que é um pré-requisito para várias ações, como enviar vídeos.

  • Os recursos de assinatura agora oferecem suporte à parte subscriberSnippet. Esse objeto encapsula os dados de snippets do canal do inscrito.

  • A API agora oferece suporte ao método videos.getRating, que recupera as classificações que o usuário autenticado deu para uma lista de um ou mais vídeos.

  • O novo parâmetro myRating do método videos.list permite que você recupere uma lista de vídeos que o usuário autenticado avaliou com like ou dislike.

    Os parâmetros myRating e id agora são considerados parâmetros de filtro, o que significa que uma solicitação de API precisa especificar exatamente um dos parâmetros. Anteriormente, o parâmetro id era obrigatório para esse método.

    O método retorna um erro forbidden para solicitações que tentam recuperar informações de classificação de vídeo, mas não estão devidamente autorizadas a fazer isso.

  • Com a introdução do parâmetro myRating, o método videos.list também foi atualizado para oferecer suporte à paginação. No entanto, os parâmetros de paginação só são compatíveis com solicitações que usam o parâmetro myRating. Os parâmetros e as informações de paginação não são compatíveis com solicitações que usam o parâmetro id.

    • O parâmetro maxResults especifica o número máximo de vídeos que a API pode retornar no conjunto de resultados, e o parâmetro pageToken identifica uma página específica no conjunto de resultados que você quer recuperar.

    • O recurso youtube#videoListResponse, que é retornado em resposta a uma solicitação videos.list, agora contém o objeto pageInfo, que contém detalhes como o número total de resultados e o número de resultados incluídos no conjunto de resultados atual. O recurso youtube#videoListResponse também pode incluir as propriedades nextPageToken e prevPageToken. Cada uma delas fornece um token que pode ser usado para recuperar uma página específica no conjunto de resultados.

  • O método videos.insert oferece suporte aos novos parâmetros a seguir:

    • autoLevels: defina esse valor de parâmetro como true para instruir o YouTube a melhorar automaticamente a iluminação e a cor do vídeo.
    • stabilize: defina esse valor de parâmetro como true para instruir o YouTube a ajustar o vídeo removendo a instabilidade resultante dos movimentos da câmera.

  • A propriedade channelTitle foi adicionada ao snippet para os seguintes recursos:

    • playlistItem: a propriedade especifica o nome do canal que adicionou o item da playlist.
    • playlist: a propriedade especifica o nome do canal que criou a playlist.
    • subscription: a propriedade especifica o nome do canal que está inscrito.

  • Foram adicionados exemplos de código para os seguintes métodos:

  • O novo parâmetro mySubscribers do método subscriptions.list permite que você recupere uma lista dos assinantes do usuário autenticado no momento. Esse parâmetro só pode ser usado em uma solicitação autorizada corretamente.

    Observação:essa funcionalidade destina-se a substituir o parâmetro mySubscribers atualmente compatível com o método channels.list. Esse parâmetro será descontinuado.

  • Em um recurso video, o valor da propriedade unspecified não é mais possível para nenhuma destas propriedades:

  • As solicitações de API que contêm um parâmetro inesperado agora retornam um erro badRequest, e o motivo informado para o erro é unexpectedParameter.

  • O erro retornado pelo método playlistItems.insert quando a playlist já contém o número máximo de itens permitidos foi atualizado. O erro agora é relatado como um erro forbidden, e o motivo do erro é playlistContainsMaximumNumberOfVideos.

19 de abril de 2013

Esta atualização contém as seguintes alterações:

  • O novo método videos.rate permite que um usuário defina uma classificação like ou dislike em um vídeo ou remova uma avaliação de um vídeo.

    A documentação de erros também foi atualizada para listar os erros que a API pode retornar em resposta a uma chamada de método videos.rate.

  • As imagens em miniatura agora são identificadas na documentação da API como um recurso separado, e o novo método thumbnails.set permite enviar uma miniatura de vídeo personalizada para o YouTube e configurá-la para um vídeo.

    A documentação de erros também foi atualizada para listar os erros que a API pode retornar em resposta a uma chamada de método thumbnails.set.

    Observe que essa mudança não afeta os recursos existentes que retornam imagens em miniatura. As imagens em miniatura são retornadas nesses recursos da mesma forma que eram antes, embora a documentação agora liste os nomes dos diferentes tamanhos de miniatura que a API pode retornar.

  • A nova parte do brandingSettings do recurso channel identifica configurações, textos e imagens para a página do canal e as páginas de exibição de vídeos do canal.

  • O recurso playlistItem contém as seguintes propriedades novas:

    • O novo objeto status encapsula informações de status sobre o item da playlist, e a propriedade status.privacyStatus identifica o status de privacidade do item.

  • O recurso video contém as seguintes propriedades novas:

  • A documentação do método playlistItems.update foi atualizada para refletir o fato de que a propriedade snippet.resourceId precisa ser especificada no recurso enviado como o corpo da solicitação.

  • O método search.list agora oferece suporte a esta funcionalidade:

    • O novo parâmetro forMine restringe uma pesquisa para recuperar apenas os vídeos do usuário autenticado.

    • O parâmetro order agora permite classificar os resultados em ordem alfabética por título (order=title) ou por contagem de vídeos em ordem decrescente (order=videoCount).

    • O novo parâmetro safeSearch indica se os resultados da pesquisa precisam incluir conteúdo restrito.

  • O método videos.insert é compatível com vários novos erros, que estão listados na tabela abaixo:

    Tipo de erro Detalhe do erro Descrição
    badRequest invalidCategoryId A propriedade snippet.categoryId especifica um ID de categoria inválido. Use o método videoCategories.list para recuperar as categorias compatíveis.
    badRequest invalidRecordingDetails O metadata specifies invalid recording details.
    badRequest invalidVideoGameRating Os metadados da solicitação especificam uma classificação de video game inv.
    badRequest invalidVideoMetadata Os metadados da solicitação são inválidos.
  • O parâmetro onBehalfOfContentOwner foi removido da lista de parâmetros compatíveis com os métodos videos.update e videos.delete.

12 de março de 2013

Esta atualização contém as seguintes alterações:

  • A propriedade channelTitle foi adicionada ao snippet para os seguintes recursos:

    • activity: a propriedade especifica o nome do canal responsável pela atividade.
    • search: a propriedade especifica o nome do canal associado ao recurso identificado pelo resultado da pesquisa.
    • video – A propriedade especifica o nome do canal que enviou o vídeo.

  • O método search.list oferece suporte aos novos parâmetros a seguir:

    • O parâmetro channelType permite restringir uma pesquisa a canais para recuperar todos os canais ou apenas programas.

    • O parâmetro videoType permite restringir uma pesquisa de vídeos para recuperar todos os vídeos ou apenas filmes ou apenas episódios de programas.

  • A definição da parte recordingDetails do recurso video foi atualizada para mostrar que o objeto só será retornado para um vídeo se os dados de geolocalização ou o tempo de gravação do vídeo tiverem sido definidos.

  • O método playlistItems.update agora retorna um erro invalidSnippet, que será retornado se a solicitação da API não especificar um snippet válido.

  • Vários métodos de API suportam novos parâmetros destinados exclusivamente a parceiros de conteúdo do YouTube. Os parceiros de conteúdo do YouTube incluem estúdios de cinema e televisão, gravadoras e outros criadores que disponibilizam o conteúdo deles no YouTube.

    • O parâmetro onBehalfOfContentOwner indica que as credenciais de autorização da solicitação identificam um usuário do CMS do YouTube que está agindo em nome do proprietário do conteúdo especificado no valor do parâmetro. A conta do CMS com a qual o usuário autentica deve estar vinculada ao proprietário do conteúdo do YouTube especificado.

      Esse parâmetro é destinado a parceiros de conteúdo que possuem e gerenciam muitos canais do YouTube diferentes. O parâmetro permite que esses parceiros se autentiquem uma vez e obtenham acesso a todos os dados de vídeo e do canal, sem precisar fornecer credenciais de autenticação para cada canal individual.

      Os métodos channels.list, search.list, videos.delete, videos.list e videos.update aceitam esse parâmetro.

    • O parâmetro managedByMe, que tem suporte do método channels.list, instrui a API a retornar todos os canais do proprietário do conteúdo especificados pelo parâmetro onBehalfOfContentOwner.

    • O parâmetro forContentOwner, que tem suporte do método search.list, instrui a API a restringir os resultados da pesquisa para incluir apenas recursos do proprietário do conteúdo especificado pelo parâmetro onBehalfOfContentOwner.

25 de fevereiro de 2013

Esta atualização contém as seguintes alterações:

  • A API é compatível com várias novas partes e propriedades para recursos video:

    • As novas partes fileDetails, processingDetails e suggestions fornecem informações aos proprietários de vídeo sobre os vídeos enviados por eles. Esses dados são muito úteis em aplicativos que permitem o upload de vídeos e incluem:

      • status e progresso do processamento
      • erros ou outros problemas encontrados durante o processamento de um vídeo
      • disponibilidade de imagens em miniatura
      • sugestões para melhorar a qualidade do vídeo ou dos metadados
      • Detalhes sobre o arquivo original enviado para o YouTube

      Todas essas partes só podem ser recuperadas pelo proprietário do vídeo. A lista abaixo descreve brevemente as novas partes, e a documentação de recursos video define todas as propriedades que cada parte contém.

      • O objeto fileDetails contém informações sobre o arquivo de vídeo que foi enviado ao YouTube, incluindo a resolução, a duração, os codecs de áudio e vídeo, as taxas de bits do stream e muito mais.

      • O objeto processingProgress contém informações sobre o progresso do YouTube no processamento do arquivo de vídeo enviado. As propriedades do objeto identificam o status de processamento atual e estimam o tempo restante até que o YouTube termine de processar o vídeo. Esta parte também indica se os diferentes tipos de dados ou de conteúdo, como detalhes do arquivo ou imagens em miniatura, estão disponíveis para o vídeo.

        Esse objeto foi criado para ser pesquisado para que o usuário que fez o envio do vídeo possa acompanhar o progresso que o YouTube teve no processamento do arquivo de vídeo enviado.

      • O objeto suggestions contém sugestões que identificam oportunidades para melhorar a qualidade ou os metadados do vídeo enviado.

    • A parte contentDetails contém quatro novas propriedades. Essas propriedades podem ser recuperadas com solicitações não autenticadas.

      • dimension – Indica se o vídeo está disponível em 2D ou 3D.
      • definition – Indica se o vídeo está disponível em padrão ou alta definição.
      • caption – Indica se as legendas estão disponíveis para o vídeo.
      • licensedContent – Indica se o vídeo tem conteúdo que foi reivindicado por um parceiro de conteúdo do YouTube.

    • A parte status contém duas novas propriedades. Os proprietários de vídeo podem definir valores para ambas as propriedades ao inserir ou atualizar um vídeo. Essas propriedades também podem ser recuperadas com solicitações não autenticadas.

      • embeddable – Indica se o vídeo pode ser incorporado em outro site.
      • license – Especifica a licença do vídeo. Os valores válidos são creativeCommon e youtube.

  • A definição do parâmetro part foi atualizada para os métodos videos.list, videos.insert e videos.update para listar as partes recém-adicionadas descritas acima, bem como a parte recordingDetails, que foi omitida acidentalmente.

  • A nova propriedade contentDetails.googlePlusUserId do recurso channel especifica o ID do perfil do Google+ associado ao canal. Esse valor pode ser usado para gerar um link para o perfil do Google+.

  • Cada objeto de imagem em miniatura agora especifica a largura e a altura da imagem. No momento, as imagens de miniatura são retornadas nos recursos activity, channel, playlist, playlistItem, search result, subscription e video.

  • O playlistItems.list agora oferece suporte ao parâmetro videoId, que pode ser usado em conjunto com o parâmetro playlistId para recuperar apenas o item da playlist que representa o vídeo especificado.

    A API retornará um erro notFound se o vídeo identificado pelo parâmetro não puder ser encontrado na playlist.

  • A documentação de erros descreve um novo erro forbidden, que indica que uma solicitação não está devidamente autorizada para a ação solicitada.

  • A propriedade snippet.channelId do recurso channel foi removida. A propriedade id do recurso fornece o mesmo valor.

30 de janeiro de 2013

Esta atualização contém as seguintes alterações:

  • A nova página error lista os erros que a API pode retornar. A página inclui erros gerais, que podem ocorrer com diferentes métodos de API, além de erros específicos de cada método.

16 de janeiro de 2013

Esta atualização contém as seguintes alterações:

  • Os exemplos de código já estão disponíveis para os métodos e as linguagens mostradas na lista abaixo:

  • Um recurso activity agora pode informar uma ação channelItem, que ocorre quando o YouTube adiciona um vídeo a um canal gerado automaticamente. O YouTube identifica, por meio de algoritmos, os tópicos que têm uma presença significativa no site do YouTube e gera canais automaticamente para eles.

  • Os seguintes parâmetros search.list foram atualizados:

    • O parâmetro q não é mais designado como um filtro, o que significa que ...
    • O parâmetro relatedToVideo foi renomeado como relatedToVideoId.
    • O parâmetro published foi substituído por dois novos parâmetros, publishedAfter e publishedBefore, descritos abaixo.

  • O método search.list oferece suporte aos novos parâmetros a seguir:

    Nome do parâmetro Valor Descrição
    channelId string Retorna recursos criados pelo canal especificado.
    publishedAfter datetime Retorna recursos criados após o tempo especificado.
    publishedBefore datetime Retorna recursos criados antes do tempo especificado.
    regionCode string Retorna recursos para o país especificado.
    videoCategoryId string Filtre os resultados da pesquisa para incluir somente conteúdo associado à categoria de vídeo especificada.
    videoEmbeddable string Filtre os resultados da pesquisa de vídeo para incluir somente vídeos que podem ser reproduzidos em um player incorporado em uma página da Web. Defina o valor do parâmetro como true para recuperar apenas vídeos incorporáveis.
    videoSyndicated string Filtre os resultados da pesquisa de vídeo para incluir apenas vídeos que podem ser reproduzidos fora do YouTube.com. Defina o valor do parâmetro como true para recuperar apenas os vídeos distribuídos.
  • Vários recursos da API oferecem suporte a novas propriedades. A tabela abaixo identifica os recursos e as novas propriedades:

    Recurso Nome da propriedade Valor Descrição
    activity contentDetails.playlistItem.playlistItemId string O código do item da playlist que o YouTube atribuiu para identificar de forma exclusiva.
    activity contentDetails.channelItem object Um objeto que contém informações sobre um recurso que foi adicionado a um canal. Essa propriedade só estará presente se snippet.type for channelItem.
    activity contentDetails.channelItem.resourceId object Um objeto que identifica o recurso que foi adicionado ao canal. Assim como outras propriedades resourceId, ela contém uma kind que especifica o tipo de recurso, como vídeo ou playlist. Ele também contém exatamente uma das várias propriedades (videoId, playlistId etc.) que especificam o ID que identifica exclusivamente esse recurso.
    channel status object Esse objeto encapsula informações sobre o status de privacidade do canal.
    channel status.privacyStatus string O status de privacidade do canal. Os valores válidos são: private e public.
    playlist contentDetails object Este objeto contém metadados sobre o conteúdo da playlist.
    playlist contentDetails.itemCount unsigned integer O número de vídeos na playlist.
    playlist player object Esse objeto contém informações que você usaria para reproduzir a lista de reprodução em um player incorporado.
    playlist player.embedHtml string Uma tag <iframe> que incorpora um player de vídeo que reproduz a playlist.
    video recordingDetails object Esse objeto encapsula informações que identificam ou descrevem o local e o horário em que o vídeo foi gravado.
    video recordingDetails.location object Este objeto contém informações de geolocalização associadas ao vídeo.
    video recordingDetails.location.latitude double Latitude em graus.
    video recordingDetails.location.longitude double Longitude em graus.
    video recordingDetails.location.elevation double Altitude acima da Terra, em metros.
    video recordingDetails.locationDescription string Uma descrição em texto do local onde o vídeo foi gravado.
    video recordingDetails.recordingDate datetime A data e a hora em que o vídeo foi gravado. O valor é especificado no formato ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • A documentação de vários métodos de API agora identifica propriedades que precisam ser especificadas no corpo da solicitação ou que são atualizadas com base nos valores do corpo da solicitação. A tabela abaixo lista esses métodos e as propriedades obrigatórias ou modificáveis.

    Observação:a documentação de outros métodos talvez já liste as propriedades obrigatórias e modificáveis.

    Método Propriedades
    activities.insert Propriedades obrigatórias:
    • snippet.description
    Propriedades modificáveis:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Propriedades obrigatórias:
    • id
    playlistItems.update Propriedades obrigatórias:
    • id
    videos.update Propriedades obrigatórias:
    • id
  • A API não informará mais um erro playlistAlreadyExists se você tentar criar ou atualizar uma playlist com o mesmo título de uma que já existe no mesmo canal.

  • Vários métodos de API são compatíveis com novos tipos de erro. A tabela abaixo identifica o método e os novos erros compatíveis:

    Método Tipo de erro Detalhe do erro Descrição
    guideCategories.list notFound notFound A categoria de guia identificada pelo parâmetro id não foi encontrada. Use o método guideCategories.list para recuperar uma lista de valores válidos.
    playlistItems.delete forbidden playlistItemsNotAccessible A solicitação não está devidamente autorizada a excluir o item da playlist especificado.
    videoCategories.list notFound videoCategoryNotFound A categoria de vídeo identificada pelo parâmetro id não foi encontrada. Use o método videoCategories.list para recuperar uma lista de valores válidos.