Neste tutorial mostraremos como identificar o número de likes do Facebook de qualquer link utilizando PHP e JSON ( "Javascript Object Notation").
Código PHP em qualquer parte da página
1. Coloque o código no local onde deseja visualizar o número de likes do blog.
<?php
$link = "http://www.blogolista.com";
// Faz a requisição para API do Facebook
$retorno = file_get_contents('http://graph.facebook.com/?ids='.$link);
// Decodifica o retorno em JSON
$json = json_decode($retorno, false);
// Retorna o Número de Likes
//echo 'Número de likes: '.$json->$link->share->share_count;
$like_blog = $json->$link->share->share_count;
echo $like_blog;
?>
Explicando o código
2. Veja a seguir a explicação do código PHP:
2.1. A variável $link define o link, que no nosso exemplo é http://www.blogolista.com
2.2. A variável $retorno lê todo conteúdo do arquivo encontrado no formato de uma string.
2.3. A função json_decode recebe como entrada uma string ($retorno, no caso) codificada no formato JSON e a converte para uma variável PHP.
Observação: Para saber mais sobre codificação JSON e uso do JSON em PHP, veja os artigos:
- O que é JSON? Para que serve e como funciona?
2.4. A manipulação $json->$link->share->share_count; captura apenas o valor de share_count (número de likes do página definida pela variável $link).
Observação: Veja abaixo como fica apresentado os dados do Facebook codificados no formato JSON.
3. Para maior entendimento do código, acesse o site: phpfiddle.org. Digite o código e clique no botão [Run - F9].
Likes e Comentários do Facebook
4. Se desejar capturar o valor dos comment_count (números de comentários compartilhados), use a manipulação: $json->$link->share->comment_count
5. No código a seguir, veja como capturar likes e comentários do Facebook do site definido pela variável $link:
<?php
$link = "http://www.blogolista.com";
// Faz a requisição para API do Facebook
$retorno = file_get_contents('http://graph.facebook.com/?ids='.$link);
// Decodifica o retorno em JSON
$json = json_decode($retorno, false);
// Retorna o Número de Likes
//echo 'Número de likes: '.$json->$link->share->share_count;
$like_blog = $json->$link->share->share_count;
$coment_blog = $json->$link->share->comment_count;
echo 'Likes: '.$like_blog.'<br/>';
echo 'Comentários: '.$coment_blog;
?>