Como verificar se a pessoa curtiu sua fan page no Facebook

Se você já reparou que há fan pages no Facebook que permitem o acesso a certos conteúdos somente para quem clicou no botão "curtir" da página, mas sempre quis implementar isso nas suas páginas, pois saiba que este é um processo bem simples.

O Facebook envia a você um cabeçalho chamado "signed_request", que é codificado em base64. O que é preciso fazer é decodificar este string, e a função abaixo faz o processo.
function parsePageSignedRequest() {
 if (isset($_REQUEST['signed_request'])) {
  $encoded_sig = null;
  $payload = null;
  list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
  $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
  $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
  return $data;
 }

 return false;
}

Depois, em qualquer lugar do código HTML da sua página, execute o seguinte condicional abaixo. Dentro do if e do else, exerça sua criatividade, mostrando ou ocultando o que você quiser aos fãs, ou que ainda não são fãs, de sua página.
if (($signed_request = parsePageSignedRequest())) {
 if ($signed_request->page->liked) {
  echo "Obrigado por curtir nossa página! Receba informações exclusivas através do Facebook!";
 } else {
  echo 'Curta nossa página para receber informações exclusivas!';
 }
}

Postar um comentário