Hola a todos.
Ya conseguí solucionar mi problema de hacer una cosa u otra en mi aplicación si le das al botón "Me gusta" o no le das.
Lo comparto con vosotros:
Código PHP:
<?php
// Activamos los errores
error_reporting(E_ALL);
ini_set('display_errors', '1');
// Incluimos la libreria o API de Facebook
include_once 'facebook_src/facebook.php';
// Incluimos nuestro fichero de configuracion de facebook (key, id, etc)
include_once 'facebook_config.php';
// Creamos el objeto Facebook
$facebook = new Facebook(array(
"appId" => FACEBOOK_APP_ID,
"secret" => FACEBOOK_SECRET_KEY,
"cookie" => true,
"domain" => 'phpfour.com'
));
// Obtenemos la sesion
$session = $facebook->getSession();
// Comprobamos la sesion
if (!$session) {
$url = $facebook->getLoginUrl(array(
"canvas" => 1,
"fbconnect" => 0
));
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
} else {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
// echo("<pre>");
// var_dump($me);
// echo("</pre>");
$updated = date("l, F j, Y", strtotime($me['updated_time']));
echo "Hola " . $me['name'] . "<br />";
echo "Ultima vez que modificaste tu perfil: " . $updated."<br><br>";
} catch (FacebookApiException $e) {
echo "Error:" . print_r($e, true);
}
$signed_request = $facebook->getSignedRequest();
if (isset($signed_request["page"])) {
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
// echo('<pre>');
// var_dump($signed_request);
// var_dump($signed_request["page"]["liked"]);
// echo('</pre>');
if ($signed_request["page"]["liked"] == true) {
echo("Eres FAN!!!");
// include_once('fan.php');
} else {
echo('No has pulsado "Me gusta"');
// Include_once('nofan.php');
}
} else {
echo("No ha funcionado bien <strong>getSignedRequest()</strong>");
}
}
?>
Aquí el código que tengo en el fichero de configuración:
facebook_config.php Código PHP:
<?
define("FACEBOOK_APP_ID", "123456789012345");
define("FACEBOOK_API_KEY", "a1b2c3d4e5f6g7h8i9a1b2c3d4e5f6g7h");
define("FACEBOOK_SECRET_KEY", "123456789abcdefghij");
define("FACEBOOK_CANVAS_URL", "URL_DE_TU_SERVIDOR_Y_TU_APLICAICION");
?>
Esto me funciona perfectamente... PERO tengo una duda....
Al entrar en mi aplicación, con este código, me dice
No has pulsado "Me gusta"
Si le doy a "Me gusta",
ME SALTA UNA PANTALLA DE CONFIRMACIÓN DE PERMISOS
¿Esta pantalla se puede evitar?
Se tiene que poder, porque yo he buscado otras páginas y si le das a me gusta, hace otras acciones y no te pide permisos.... (ejemplo:
http://www.facebook.com/DKNY?ref=ts&...01156193272474)
Espero vuestros comentarios!!
Javier