Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2011, 08:38
Avatar de el_javi
el_javi
 
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 10 meses
Puntos: 10
Facebook APP - Saber si al usuario le gusta o no la página

Hola a todos.

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($etrue);
        }
    }

?>
Pero con esto, lo que me hace es pedirme permisos de acceso, y mi cliente no le gusta y no quiere que aparezcan los permisos...

¿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