Ir para conteúdo

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

Coletar o número dos seguidores no twitter via comando PHP.

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.

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. 

 

Fonte: OficinaNet.
 




×
×
  • Criar Novo...

Informação Importante

Termos de Uso Política de Privacidade Regras