Implementar a autorização do OAuth 2.0

YouTube Reporting API e YouTube Analytics API são compatíveis com o protocolo OAuth 2.0 para autorizar o acesso a dados particulares do usuário. A lista a seguir explica alguns dos principais conceitos de OAuth 2.0:

  • Quando um usuário tenta usar recursos do app que exigem login em uma Google Account or YouTube account, o app inicia o processo de autorização OAuth 2.0.

  • Seu aplicativo redireciona o usuário ao servidor de autorização do Google. O link para essa página especifica o scope de acesso que seu app está solicitando para a conta do usuário. O scope especifica os recursos que o aplicativo pode recuperar, inserir, atualizar ou excluir quando atua como o usuário autenticado.

  • Se o usuário consentir em autorizar seu aplicativo para acessar os recursos, o Google retorna um token a seu aplicativo. Dependendo do tipo do aplicativo, ele valida ou token ou troca-o por um tipo de token diferente.

    Por exemplo, um aplicativoda Web do lado do servidor troca o token retornado por um token de acesso e um token de atualização. Com o token de acesso, o aplicativo pode autorizar solicitações em nome do usuário. Já o token de atualização permite que o aplicativo recupere um novo token de acesso quando o token de acesso original expirar.

Importante: para usar a autorização OAuth 2.0, você precisa adquirir credenciais de autorização no Google API Console.

Para mais detalhes, consulte o Guia de autorização do OAuth 2.0.

Fluxos do OAuth 2.0

As APIs do Google oferecem suporte a vários casos de uso do OAuth 2.0:

  • O fluxo de apps da Web do servidor oferece suporte a aplicativos da Web que podem armazenar informações persistentes com segurança.
  • O fluxo de apps da Web em JavaScript oferece suporte a aplicativos JavaScript em execução em um navegador.
  • O fluxo de apps para dispositivos móveis e computador oferece suporte a aplicativos instalados em um dispositivo, como um smartphone ou computador.
  • O fluxo OAuth 2.0 para TVs e dispositivos de entrada limitada oferece suporte a dispositivos com recursos de entrada limitados, como consoles de jogos e câmeras de vídeo. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • O fluxo OAuth 2.0 para contas de serviço aceita interações de servidor para servidor que não acessam as informações do usuário. No entanto, YouTube Reporting API e YouTube Analytics API não são compatíveis com esse fluxo. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.

Identificar escopos de acesso

Os escopos permitem que seu aplicativo solicite acesso apenas aos recursos necessários, além de permitir que os usuários controlem o nível de acesso que concedem ao seu aplicativo. Portanto, pode haver uma relação inversa entre o número de escopos solicitados e a probabilidade de obter o consentimento do usuário.

Antes de começar a implementar a autorização do OAuth 2.0, recomendamos identificar os escopos que o app precisa de permissão para acessar.

A API YouTube Analytics usa os seguintes escopos:

Scopes
https://www.googleapis.com/auth/youtubeManage your YouTube account
https://www.googleapis.com/auth/youtube.readonlyView your YouTube account
https://www.googleapis.com/auth/youtubepartnerView and manage your assets and associated content on YouTube
https://www.googleapis.com/auth/yt-analytics-monetary.readonlyView monetary and non-monetary YouTube Analytics reports for your YouTube content
https://www.googleapis.com/auth/yt-analytics.readonlyView YouTube Analytics reports for your YouTube content

A API YouTube Reporting usa os seguintes escopos:

Escopos
https://www.googleapis.com/auth/yt-analytics-monetary.readonlyVer relatórios monetários e não monetários do YouTube Analytics sobre seu conteúdo do YouTube
https://www.googleapis.com/auth/yt-analytics.readonlyVisualize os relatórios do YouTube Analytics para seu conteúdo no YouTube

O documento Escopos da API OAuth 2.0 contém uma lista completa dos escopos que podem ser usados para acessar as APIs do Google.