Recentemente, fizemos o re-design da página inicial de um cliente que trabalha com a postagem de conteúdo no Youtube e possui grande audiência engajada.

Queríamos uma forma de despertar a curiosidade de quem acessa o site para conhecer o canal do cliente e tivemos a ideia de expor alguns números do Youtube como validação social da abrangência do conteúdo.

Para isso, usamos um script em PHP que utiliza da própria API fornecida pelo Youtube para a realização de consultas.

Como fazer

Antes de tudo, você precisa de uma API Key. Para isto, acesse:

https://console.developers.google.com/?hl=pt

Faça login com sua conta Google, clique em Criar projeto e siga o passo à passo para a criação. No final você será redirecionado ao link anterior. Clique em ATIVAR APIS E SERVIÇOS e pesquise por Youtube Data API. Clique em ATIVAR.

Uma vez ativada, você será redirecionado para a página da API. Clique em Criar credenciais e selecione Youtube Data API como API que você vai usar e Servidor da Web como local de onde você chamará a API. Selecione a opção Dados públicos e clique no botão para azul prosseguir. ENFIM, você terá sua credencial, que deve ser algo parecido com isto:

AIzaSAsDc0XXfK5xmxoXgYzyhCNFAaSjklUoBBo

Salve em algum lugar.

Agora, acesse o Youtube, faça login em sua conta Google e selecione o canal de onde você quer extrair informações. Logado em seu canal, acesse o link abaixo:

http://www.youtube.com/account_advanced

Copie a ID do canal do Youtube, que deve ser algo parecido com isto:

UCOpL0BeHB0VEZhRgx6ftZIw

Salve em algum lugar e finalmente vamos para a parte de programação. A API do Youtube é acessada por meio de requests HTTP. Nesse caso, vamos fazer uma requisição à uma URL especifica que disponibiliza algumas informações sobre o canal. Como exemplo, criei uma função pra mostrar algumas possibilidades.

function get_youtube_channel_stat($stat = 'viewCount'){

  // o parâmetro $stat pode ser: viewCount, commentCount, subscriberCount ou videoCount

  $key        = "AIzaSyCTsbFFDGQdCD1xu3S99H1AzXdRpaALnr0"; // Sua API Key
  $channel_id = "UC6BN1oSRAxcABupjn_bnT7g"; // a ID do seu canal

  $content    = file_get_contents("https://www.googleapis.com/youtube/v3/channels?key={$key}&part=statistics&id={$channel_id}");
  $json       = json_decode($content, 1);

  return $json['items'][0]['statistics'][$stat];

}

Alguns exemplos de aplicação:

echo get_youtube_channel_stat(); // retorna a quantidade de views totais do canal
echo get_youtube_channel_stat('subscriberCount'); // retorna a quantidade de inscritos no canal