Recuperando total de compartilhamento de URL no Twitter

Nessa aula vou mostrar como recuperar o total de compartilhamento de URL pelo twitter. Utilizaremos como base aula de compartilhamento do facebook, quando criamos uma classe abstrata. Espero que goste, e boa aula.

ShareNetWork.php

<?php
abstract class ShareNetWork{
protected $url;
protected $server;
 
public function setUrl($url){
$this->url = $url;
}
 
public function setServer($server){
$this->server = $server;
}
 
protected function accessServer($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
 
abstract protected function populate($obj);
 
abstract public function execute();
 
}


ShareTwitter.php
<?php

class ShareTwitter extends ShareNetWork{
private $shareCount;
 
public function __construct($url){
$this->setUrl($url);
$this->setServer('http://urls.api.twitter.com/1/urls/count.json?url=%s');
}
 
public function execute(){
$url = sprintf($this->server, $this->url);
$data = $this->accessServer($url);
$obj = json_decode($data);
$this->populate($obj);
return $this;
}
 
public function populate($obj){
$this->shareCount = $obj->count;
}
 
public function getShareCount(){
return $this->shareCount;
}
 
}

index.php

&lt; ?php

include('lib/ShareNetWork.php');
include('lib/ShareTwitter.php');
$twitter = new ShareTwitter('http://www.mxmasters.com.br/aulasonline/instalando-wordpress-no-mamp/');
echo 'Twitter: Total de Compartilhamento :'.$twitter-&gt;execute()-&gt;getShareCount();
?&gt;




Se o conteúdo foi relevante para você, e desejar, você pode incentivar fazendo uma doação.

2 thoughts on “Recuperando total de compartilhamento de URL no Twitter

  1. Bom dia,

    Assisti sua vídeo aula( muio boa por sinal), porém estou com uma dúvida, a aula mostra como pegar somente os compartilhamentos do site no twiter?? você teria alguma aula de como pegar os seguidores do twiter visto que a API mudou agora e precisa de token??

    Grande abraço e Parabéns pelas aulas!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *