Estoy programando aplicaciones Facebook, y un cliente se ha quejado de un tema, y quisiera saber si quizás yo lo estoy haciendo mal o no...
Básicamente mi aplicación tiene que hacer lo siguiente:
- Si el usuario NO ha pulsado el botón "Me gusta" muestra un contenido
- Si el usuario SI ha pulsado el botón "Me gusta" muestra otro tipo de contenido.
El tema es que yo, para saber si el usuario le gusta o no, he de acceder a la configuración/opciones del propio usuario logueado en facebook.
Yo lo hago de la siguiente manera:
Código PHP:
<?
include_once('php/facebook_API/facebook.php');
include_once('php/facebook_API_config.php');
// Create facebook object
$facebook = new Facebook(array(
"appId" => FACEBOOK_APP_ID,
"secret" => FACEBOOK_SECRET_KEY,
"cookie" => true,
"domain" => 'phpfour.com'
));
// Setting facebook session
$session = $facebook->getSession();
$isFan = false;
$redirectLogin = false;
// If NOT session ...
if (!$session) {
$loginUrl = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'display' => 'page',
'req_perms' => 'user_online_presence,friends_online_presence,email',
'next' => 'http://www.facebook.com/pages/MI_PAGINA/000000000000000?sk=app_000000000000000',
// 'cancel_url'=> 'http://www.MI_PAGINA_DE_CANCEL.com
));
// Redirección a la URL de Login o no
$redirectLogin = "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
} else {
try {
$signed_request = $facebook->getSignedRequest();
if (isset($signed_request["page"])) {
if ($signed_request["page"]["liked"] == true) {
// echo("Eres FAN!!!");
$isFan = true;
} else {
// echo('No has pulsado "Me gusta"');
$isFan = false;
}
} else {
echo("No ha funcionado bien <strong>getSignedRequest()</strong>");
}
} catch (FacebookApiException $e) {
echo "Error:" . print_r($e, true);
}
}
?>
¿Estoy haciéndolo mal? ¿hay otra manera de saber si el usuario ha pulsado o no en el botón "me gusta"?
Muchas gracias de antemano.
Javier