Nessa aula mostro como recuperar informações de URL no facebook, com isso falo sobre classe abstrata, classe especialista, métodos abstratos.
Códigos Criados:
ShareNetWork.php
[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();
}
[/php]
ShareFacebook.php
[php]
< ?php
class ShareFacebook extends ShareNetWork{
private $shareCount;
private $likeCount;
private $clickCount;
public function __construct($url){
$this->setUrl($url);
$this->setServer(‘http://api.facebook.com/restserver.php?method=links.getStats&urls=%s’);
}
public function execute(){
$url = sprintf($this->server, $this->url);
$data = $this->accessServer($url);
$obj = simplexml_load_string($data);
$this->populate($obj);
return $this;
}
protected function populate($obj){
$this->shareCount = $obj->link_stat->share_count;
$this->likeCount = $obj->link_stat->like_count;
$this->clickCount = $obj->link_stat->click_count;
}
public function getShareCount(){
return $this->shareCount;
}
public function getLikeCount(){
return $this->likeCount;
}
public function getClickCount(){
return $this->clickCount;
}
}
[/php]
index.php
[php]
< ?php
include(‘lib/ShareNetWork.php’);
include(‘lib/ShareFacebook.php’);
$facebook = new ShareFacebook(‘http://www.mxmasters.com.br/aulasonline/instalando-wordpress-no-mamp/’);
$facebook->execute();
echo ‘Total de Compartilhamento :’.$facebook->getShareCount();
echo ‘<br /> Total de Joinha :’.$facebook->getLikeCount();
[/php]
Olá amigo, estou com um problema no site que eu fiz aqui, quando eu clico em compartilhar no facebook ele nao mostra as imagens corretas nem a descrição e nem o titulo, por favor dê uma olhadinha no site: http://www.matheusramos.com
Amigo preciso de ajuda urgente
Vc precisa adicionar meta tags , usando o Protocolo Open Graph. Dá uma olhada nesse link
http://www.cutedrop.com.br/2011/11/open-graph-como-o-facebook-exibe-seu-site/
Caso vc adicionei, e não apareça, coloque a URl nesse link, pra “limpar o cache” da URL no Facebook.
https://developers.facebook.com/tools/debug/
Ola, Davi, fiz o mesmo processo que você fez, mas a pagina retorna esse erro Fatal error: Call to undefined function curl_init() in C:\wamp\www\gti\index2.php on line 169 e não mostra nada estou testando no servidor local a linha 169 tem esse código: protected function accessServer($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
saberia me dizer pq ele não encontrar essa função?
José, veja se está habiltado o CURL. Clique no icone do wampserver vá PHP > Extensões PHP > php_curl
Caso esteja marcado, e mesmo assim está dando a mesma mensagem. Pode ser um problema no wampserver 2.2 64bits, mas é fácil de resolver, segue o link com tutorial pra resolver:
http://www.mxmasters.com.br/artigo/resolvendo-problema-do-curl-no-wampserver-2-2-64bits/