Contar seguidores Facebook, Twitter e Google Plus em PHP

menu drop down responsivo
Menu drop-down responsivo
18 Outubro, 2013
photoshop brushes
Como instalar e usar Brushes no Photoshop
21 Outubro, 2013
php likes redes sociais

No artigo de hoje vamos ver como é possível, de forma simples, ver algumas informações da nossa conta das redes sociais Facebook, Twitter e Google Plus isto tudo em PHP acedendo a arquivos JSON.

Alguns dados do Facebook, Twitter e Google Plus estão disponíveis ao publico comum no formato de arquivo JSON, podemos usar algumas informações para exibir facilmente número de likes, seguidores, etc… em texto simples.

JSON (JavaScript Object Notation) é um arquivo leve que apresenta certas anotações/dados, ficou bastante conhecido por ser extremamente fácil de manipular, sendo a alternativa perfeita do XML.

Links JSON

Facebook, Twitter e Google Plus usam links diferentes para apresentarem os ditos arquivos JSON.

http://api.twitter.com/1/users/show.json?screen_name=<screen NAME>;
http://graph.facebook.com/<page ID OR NAME>;
https://www.googleapis.com/plus/v1/people/<page ID>?key=<google API KEY>;

Ao fazermos o teste com a pagina do CriarEstilosNet na rede social Facebook, o resultado obtido foi:

{
   "about": "CriarEstilosNet, u00e9 um blog onde escrevemos, comentamos, publicamos e partilhamos artigos e posts interessantes relativamente a temas de Web Marketing, SEO, SEM, AdWords, Analitycs, Facebook, Google e muito mais.",
   "category": "Website",
   "is_published": true,
   "talking_about_count": 5,
   "username": "CriarEstilosNet",
   "website": "http://criarestilosnet.com/",
   "were_here_count": 0,
   "id": "245673855561079",
   "name": "CriarEstilosNet",
   "link": "http://www.facebook.com/CriarEstilosNet",
   "likes": 56,
   "cover": {
      "cover_id": 309329485862182,
      "source": "http://scontent-b.xx.fbcdn.net/hphotos-frc1/s720x720/578224_309329485862182_2093359449_n.jpg",
      "offset_y": 0,
      "offset_x": 0
   }
}

PHP

A partir deste momento temos um leque de opções que podemos usar, neste exemplo criamos um pequeno script em PHP que extrai os dados do arquivo JSON e a partir desse ponto utilizar na nossa aplicação. Neste simples script utilizamos as Tags cURL e file_get_contents.

<?php
$twitter_id   = ''; // Twitter NOME
$facebook_id  = ''; // Facebook ID ou NOME
$google_id    = ''; // Google Plus ID
$google_chave = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Chave Google API

$twitter_link  = 'http://api.twitter.com/1/users/show.json?screen_name='.$twitter_id;
$facebook_link = 'http://graph.facebook.com/'.$facebook_id;
$google_link   = 'https://www.googleapis.com/plus/v1/people/'.$google_id.'?key='.$google_chave.'';

$twitter_data       = get_data($twitter_link);
$facebook_data      = get_data($facebook_link);
$google_data        = get_data($google_link);

echo "Twitter: "    . $twitter_data ->followers_count."<br/>";
echo "Facebook: "   . $facebook_data->likes          ."<br/>";
echo "Google Plus: ". $google_data  ->plusOneCount   ."<br/>";

function get_data($json_link = '' , $usar_curl = false){
    if($usar_curl){
        $linha = curl_init();
        curl_setopt($linha, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($linha, CURLOPT_URL, $json_link);
        $json_dados = curl_exec($linha);
        curl_close($linha);
        return json_decode($json_dados);
    }else{
        $json_dados = file_get_contents($json_link);
        return json_decode($json_dados);
    }
}
?>

Pode fazer o download do código final aqui.

Já conhecia está técnica? Usa outras? Comente!

2 Comentários

  1. Wesley diz:

    Olá Fábio,
    desculpe-me a ignorância, é que não entendo nada de PHP e muito pouco de programação, como eu faço para fazer o código funcionar com a minha página do Facebook, isso me seria muito útil.

    um abraço.

  2. Michelle Fabiana Diniz diz:

    Olá, ótimo post. Mas pra mim não funciona o twiiter. Tem que chamar algum outro script? Gerar uma key com OAUTH? Não soube utilizar o do twitter. Valeu!

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *