PHP: Como pegar o número de followers do Twitter

Olá, nesta matéria vamos mostrar como você pode personalizar em seu site o número de seguidores do Twitter. Vamos usar arquivo de cachê para que não fique sempre fazendo requisições no servidor do microblog.

Por | @nmuller99 Programação
Olá, nesta matéria vamos mostrar como você pode personalizar em seu site o número de seguidores do Twitter. Vamos usar arquivo de cachê para que não fique sempre fazendo requisições no servidor do microblog.

Vamos utilizar CURL para fazer o download da página da API do Twitter, então, para quem não sabe usar o CURL, aqui tem uma matéria que escrevi onde tem a função downloadUrl() que usaremos nesta matéria.

Bom sem mais vamos ao código, criamos um arquivo chamado sn_twitter.php – de social network twitter. Nele consta a função que utilizaremos para fazer a requisição, que segue:


function twitter_followers_counter($username)
{
    $cache_file = 'cache/twitter_followers_counter_' . md5 ( $username );

    if (is_file ( $cache_file ) == false) {
        $cache_file_time = strtotime ( '1984-01-11 07:15' );
    } else {
        $cache_file_time = filemtime ( $cache_file );
    }

    $now = strtotime ( date ( 'Y-m-d H:i:s' ) );
    $api_call = $cache_file_time;
    $difference = $now - $api_call;
    $api_time_seconds = 7200;

    if ($difference >= $api_time_seconds) {
        $api_page = 'http://twitter.com/users/show/' . $username;
        $xml = downloadUrl( $api_page );

        $profile = new SimpleXMLElement ( $xml );
        $count = $profile->followers_count;
        if (is_file ( $cache_file ) == true) {
            unlink ( $cache_file );
        }
        touch ( $cache_file );
        file_put_contents ( $cache_file, strval ( $count ) );
        return strval ( $count );
    } else {
        $count = file_get_contents ( $cache_file );
        return strval ( $count );
    }
}
?>


O que a função faz:
Inicialmente ela define o nome do arquivo que será o cachê, lembrando que você precisa ter na raiz do seu site uma pasta chamada cache - com permissões para gravação (0777). Feito isto, ela vai verificar se existe o arquivo já gravado na pasta, se não ouver ele define a data acima setada, se existir, ele pega a data do arquivo - da última atualização.

A variável $api_time_seconds = 7200;, 7200 determina 2 horas, este valor é em segundos, então de 2 em 2 horas ele vai verificar no Twitter se existe alteração do número de seguidores. Então no IF:  if ($difference >= $api_time_seconds) { ele verifica se o arquivo atual já é mais antigo que 2 horas, se for ele vai ir na API do Twitter, fazendo download com a funcção downloadUrl (vide anexo) $xml = downloadUrl( $api_page );.

O resultado do download é trabalhado com XML, depois disto ele verifica se existe o arquivo cache, se existir, ele remove para criar novamente, usando a função file_put_contents.

E se o tempo não for maior, ele vai no arquivo de cache e busca o número que lá dentro estará gravado.

Como chamar a função?


Simplesmente com o código abaixo:
echo twitter_followers_counter('oficinadanet');


Então pessoal está é a função que faz buscar os dados, no arquivo para download abaixo, existe a função downloarUrl(). Que é utilizada para baixar a página da API usando CURL.

Como você pode ver aqui no site criamos um ícone no menu lateral esquerdo, com o número de seguidores + um link para quem quiser seguir o site.

PHP: Como pegar o número de followers do Twitter

Então você pode criar diversas formas para mostrar para seu público o número de seguidores. Aproveitando, siga a Oficina da Net no Twitter.

Mais sobre: twitter, php, tutoriais
Share Tweet
DESTAQUESRecomendado
Mais compartilhados
Comentários