Exemplos de código JavaScript

O exemplo de código abaixo usa a biblioteca cliente de APIs do Google para JavaScript. Faça o download da amostra na pasta javascript do repositório de exemplos de código das APIs do YouTube no GitHub.

O código solicita a permissão do usuário para acessar o escopo https://www.googleapis.com/auth/yt-analytics.readonly.

return gapi.auth2.getAuthInstance()     .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})     ...

Seu aplicativo também pode precisar solicitar acesso a outros escopos. Por exemplo, um aplicativo que chama a API YouTube Analytics e a API YouTube Data pode exigir que os usuários também concedam acesso às contas do YouTube. A visão geral da autorização identifica os escopos normalmente usados em aplicativos que chamam a API YouTube Analytics.

Recuperar estatísticas diárias do canal

Este exemplo chama a API YouTube Analytics para recuperar visualizações diárias e outras métricas do canal do usuário autorizador no ano civil de 2017. O exemplo usa a biblioteca de cliente JavaScript das APIs do Google.

Configurar credenciais de autorização

Antes de executar essa amostra localmente pela primeira vez, configure as credenciais de autorização do seu projeto:

  1. Crie ou selecione um projeto no Console de APIs do Google.
  2. Ative a API YouTube Analytics no seu projeto.
  3. Na parte de cima da página Credenciais, selecione a guia Tela de permissão OAuth. Selecione um endereço de e-mail, insira um nome de produto se ainda não estiver definido e clique no botão "Salvar".
  4. Na página Credenciais, clique no botão Criar credenciais e selecione ID do cliente do OAuth.
  5. Selecione o tipo de aplicativo "Aplicativo da Web".
  6. No campo "Origens JavaScript autorizadas", insira o URL de onde você vai veicular o exemplo de código. Por exemplo, você pode usar algo como http://localhost:8000 ou http://yourserver.example.com. Você pode deixar o campo "URIs de redirecionamento autorizados" em branco.
  7. Clique no botão Criar para concluir a criação das credenciais.
  8. Antes de fechar a caixa de diálogo, copie o ID do cliente, que você precisará inserir no exemplo de código.

Fazer uma cópia local da amostra

Em seguida, salve a amostra em um arquivo local. No exemplo, encontre a seguinte linha e substitua YOUR_CLIENT_ID pelo ID do cliente que você recebeu ao configurar suas credenciais de autorização.

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

Executar o código

Agora, você já pode testar a amostra:

  1. Abra o arquivo local em um navegador da Web e abra o console de depuração no navegador. Uma página com dois botões vai aparecer.
  2. Clique no botão autorizar e carregar para iniciar o fluxo de autorização do usuário. Se você autorizar o app a recuperar os dados do seu canal, as seguintes linhas serão impressas no console do navegador:
     Sign-in successful GAPI client loaded for API
  3. Se você vir uma mensagem de erro em vez das linhas acima, confirme se está carregando o script do URI de redirecionamento autorizado configurado para seu projeto e se inseriu o ID do cliente no código conforme descrito acima.
  4. Clique no botão Executar para chamar a API. Um objeto response será impresso no console do navegador. Nesse objeto, a propriedade result é mapeada para um objeto que contém os dados da API.

Código de amostra

<script src="https://apis.google.com/js/api.js"></script> <script>   function authenticate() {     return gapi.auth2.getAuthInstance()         .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})         .then(function() { console.log("Sign-in successful"); },               function(err) { console.error("Error signing in", err); });   }   function loadClient() {     return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")         .then(function() { console.log("GAPI client loaded for API"); },               function(err) { console.error("Error loading GAPI client for API", err); });   }   // Make sure the client is loaded and sign-in is complete before calling this method.   function execute() {     return gapi.client.youtubeAnalytics.reports.query({       "ids": "channel==MINE",       "startDate": "2017-01-01",       "endDate": "2017-12-31",       "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",       "dimensions": "day",       "sort": "day"     })         .then(function(response) {                 // Handle the results here (response.result has the parsed body).                 console.log("Response", response);               },               function(err) { console.error("Execute error", err); });   }   gapi.load("client:auth2", function() {     gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});   }); </script> <button onclick="authenticate().then(loadClient)">authorize and load</button> <button onclick="execute()">execute</button>