Usar o OAuth 2.0 para contas de serviço

Observação: a API Content ID do YouTube é destinada a parceiros de conteúdo do YouTube e não pode ser acessada por todos os desenvolvedores ou usuários do YouTube. Se você não encontrar a API Content ID do YouTube como um dos serviços listados no Console de APIs do Google, consulte a Central de Ajuda do YouTube para saber mais sobre o Programa de Parcerias do YouTube.

Contexto

Uma conta de serviço é uma Conta do Google que pode ser usada para autorizar chamadas de API sem nenhuma interação do usuário. Ao contrário de outros fluxos do OAuth 2.0, a autenticação e a autorização de acesso usando o fluxo do OAuth 2.0 para contas de serviço não ocorre em um navegador da Web. Em vez disso, o OAuth 2.0 para contas de serviço depende de assinaturas criptográficas para autorizar o acesso. Se o código tiver acesso à chave criptográfica subjacente, ele poderá continuar fazendo chamadas de API sem se preocupar com tokens de atualização e acesso. Ele é perfeito para aplicativos automatizados em execução em servidores sem intervenção humana.

Agora você pode usar o fluxo OAuth 2.0 para contas de serviço para autorizar solicitações da API Content ID do YouTube. Você também pode usar esse fluxo para autorizar chamadas da API YouTube Data e da API YouTube Analytics para métodos compatíveis com os parâmetros de delegação. Em todos esses casos, um aplicativo que usa esse fluxo autoriza a solicitação de API como um parceiro de conteúdo do YouTube (usando uma conta do CMS do YouTube), e não como proprietário do canal do YouTube.

Configurar sua conta de serviço

As capturas de tela a seguir ilustram o processo de criação de uma conta de serviço associada ao seu Projeto de API, que você deve garantir que já tenha as APIs adequadas (API YouTube Data v3, API YouTube Analytics, API Content ID do YouTube etc.) ativadas.

  1. Acesse https://cloud.google.com/console e escolha seu projeto de API atual ou crie um novo.
  2. Na barra lateral à esquerda, selecione APIs e autorização.
  3. Verifique se a API Content ID do YouTube está ativada no seu projeto.
  4. Na barra lateral à esquerda, selecione Credenciais.
  5. Clique no botão Criar novo ID do cliente.
  6. Escolha Conta de serviço nas opções listadas e clique em Criar ID do cliente. A chave privada da conta de serviço será transferida por download para sua máquina. Essa é a única cópia da chave, e você precisa salvá-la em um local seguro em que o aplicativo possa ler.
  7. Anote o endereço de e-mail da conta de serviço. O endereço de e-mail aparece na página Credenciais. Você precisará do endereço para permitir que sua conta de serviço acesse sua conta do CMS do YouTube.
  8. Acesse https://www.youtube.com/content_owner_users e clique no botão Novo usuário.
  9. Insira o endereço de e-mail da conta de serviço da etapa 7 no campo Endereço de e-mail e escolha a função apropriada para o usuário. Em seguida, clique no botão Convidar.
  10. Sua conta de serviço aceita automaticamente o convite e, depois, ela pode acessar as APIs do YouTube agindo em nome da sua conta do CMS do YouTube.
  11. Siga as instruções do fluxo da conta de serviço do OAuth 2.0 no guia de autorização de solicitações para autorizar solicitações usando sua conta de serviço.

Fazer chamadas de API

As bibliotecas de cliente da maioria das linguagens têm suporte nativo para o OAuth 2.0 para o fluxo da conta de serviço. Você poderá seguir os exemplos na documentação da biblioteca para realizar a autorização básica com os escopos apropriados da API do YouTube.

O mais importante é ter em mente que você precisa usar os parâmetros de delegação apropriados para agir em nome de um determinado canal vinculado à sua conta do CMS. Para ver uma lista de canais vinculados à sua conta do CMS, visite https://cms.youtube.com/edit_user_accounts.