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?

- Trabalhando com JSON em PHP

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;

?>