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 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(); }ShareFacebook.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; } }index.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();
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/