Foros del Web » Programando para Internet » PHP »

¿Como mostrar contenido oculto a fans de Facebook?

Estas en el tema de ¿Como mostrar contenido oculto a fans de Facebook? en el foro de PHP en Foros del Web. Buenas tardes a tod@s y gracias por las posibles respuestas. A ver si me explico con claridad; Quiero crear en mi página web (No página ...
  #1 (permalink)  
Antiguo 07/06/2013, 09:04
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿Como mostrar contenido oculto a fans de Facebook?

Buenas tardes a tod@s y gracias por las posibles respuestas.

A ver si me explico con claridad;
Quiero crear en mi página web (No página de FB) un sorteo en el que solo los fans de mi página de Facebook puedan participar.

Mi idea era muy sencilla, si eres fan, se muestra un pequeño formulario donde introduces los datos y a participar. Si no eres fan, que muestre el típico botón de FB "Me gusta".

He visto muchísimos tutoriales sobre las app de facebook, pero ando bastante perdido. Me he dado de alta en desarrolladores de FB y he creado una nueva aplicación (Que si hay que especificar muchas cosas.... seguramente encontremos el error ahi jeje )

Me he descargado el SDK de FB y he subido a mi servidor los archivos de la carpeta "src".

y actualmente estoy utilizando este código para intentar llevar a cabo mi misión:
Código PHP:
    require_once('../includes/api-facebook/facebook.php'); //La ruta es correcta

    // Iniciamos nuestra APP
    
$facebook = new Facebook(array(
    
'appId'  => '000000000000000'//Evidentemente cambio los ceros por el num de mi app
    
'secret' => '00000000000000000000000000000000'//También cambio los ceros por el número secreto
    
'cookie' => true,
    ));

    
$signed_request $facebook->getSignedRequest();
    
$like_status $signed_request["page"]["liked"];

    
// Si el usuario le ha clickado en el "Me gusta" de nuestra página
    
if($like_status){
     echo 
'Eres fan, y aquí mostraría el formulario';
    }else{
     echo 
'Lo siento, necesitas Pinchar en "me gusta" para ver esta página...';
    }
//Fin else 
Y puede parecer un poco tonta la pregunta, pero ¿donde especifico la página que quiero que sean fans? Ya que para crear una nueva app tengo que estar identificado como usuario y no como página y en la configuración de la app no lo veo por ningún sitio ni tampoco por los archivos de SDK.

Si no me he explicado bien, hacérmelo saber y os doy más información. Gracias nuevamente por vuestra ayuda. Un saludo.
  #2 (permalink)  
Antiguo 07/06/2013, 09:11
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Esta comprobacion:

Código PHP:
Ver original
  1. $signed_request = $facebook->getSignedRequest();
  2. $like_status = $signed_request["page"]["liked"];

Suele usarse si tu app esta dentro de un canvas de Facebook, no te servira si esta por fuera.

Si quieres saber si a un usuario le gusta tu pagina, primero debes pedirle permisos para poder acceder a esa informacion, luego lo mas facil es con un FQL hacer una consulta con el id de la pagina y el id del usuario.
__________________
Aprendiendo!!!
  #3 (permalink)  
Antiguo 07/06/2013, 09:18
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Ejemplo completo:

Código PHP:
Ver original
  1. /*
  2.   Código para obtener datos del usuario en Facebook
  3.  */
  4.  
  5. // URL de redireccion, una vez el usuario acepte, donde sera redireccionado?
  6. $urlApp = "https://www.dominio.com/";
  7.  
  8. // ID y Secret ID de la aplicación
  9. $appId = "00000000000000000";
  10. $secret = "00000000000000000000000000000000";
  11.  
  12. //Llamada al Facebook SDK
  13. include_once "php/facebook/src/facebook.php";
  14.  
  15. // Instanciamos el objeto Facebook
  16. $facebook = new Facebook(array('appId' => $appId, 'secret' => $secret, 'cookie' => true));
  17.  
  18. // Obtenemos una session
  19. $user = $facebook->getUser();
  20.  
  21. if (!$user) {
  22.  
  23.     // Si el usuario no está autentificado crea una URL para hacerlo.
  24.     // Se usa 'scope' para pedir permisos separados por coma.
  25.     // Se usa 'redirect_uri' para redireccionar a esa URL despues de la acción del usuario
  26.     $loginUrl = $facebook->getLoginUrl(array('scope' => 'user_about_me, publish_stream, user_likes', 'redirect_uri' => $urlApp));
  27.  
  28.      header('Location: ' . $loginUrl);
  29.  
  30.  } else {
  31.  
  32.     // Hasta aquí el usuario tendría que estar autentificado con la aplicación.
  33.     $userFacebook = $facebook->api('/me');
  34.  
  35.     $fql_query_url = 'https://graph.facebook.com/fql?q=SELECT+page_id+FROM+page_fan+WHERE+uid+=+me()+AND+page_id+=+00000000000000&access_token=' . $facebook->getAccessToken();
  36.  
  37.     //Compruebo que devolvio true y creo variable
  38.     $acceso = (!empty($fql_query_obj['data']) && is_numeric($fql_query_obj['data'][0]['page_id'])) ? true : false;
  39.  
  40.     if (isset($acceso)):
  41.         //Muestro me gusta
  42.     else :
  43.         //no le gusta...
  44.     endif;
  45.  
  46. }
__________________
Aprendiendo!!!
  #4 (permalink)  
Antiguo 07/06/2013, 09:21
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Claro antes debes crear un app en facebook, y configurarla correctamente.
__________________
Aprendiendo!!!
  #5 (permalink)  
Antiguo 07/06/2013, 09:23
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

oooohhhh!!! Que respuesta más completa!! Tal vez demasiado desarrollada!! Me vas a mal acostumbrar y no voy a aprender!!

Voy a probarlo y te cuento! Que contento estoy jeje

Muchísimas gracias! Ojala la mitad de las respuestas fuesen como la tuya!
¡Un saludo!
  #6 (permalink)  
Antiguo 07/06/2013, 09:26
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Cita:
Iniciado por sidneyendis Ver Mensaje
oooohhhh!!!Me vas a mal acostumbrar y no voy a aprender!!
Ok, no lo vuelvo a hacer,

Cita:
Iniciado por sidneyendis Ver Mensaje
Muchísimas gracias! Ojala la mitad de las respuestas fuesen como la tuya!
La mayoria de respuestas del Foro son buenas, esta pues es mas completa porque tengo unas cuantas apps de Facebook.
__________________
Aprendiendo!!!
  #7 (permalink)  
Antiguo 09/06/2013, 20:28
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Hola anacona16!!
He estado todo el fin de semana probando... y no he conseguido que funcione...Te explico a ver si puedes ayudarme:

-He copiado tu código y he sustituido lo siguiente: "$urlApp", "$appId". "$secret", ruta include Facebook SDK y el Id de mi página dentro de la variable "$fql_query_url".
-He configurado (Creo que bien) la app de facebook de la siguiente manera:
Información básica
--Display Name: Nombre de mi App
--Namespace: nombreapp
--Correo electrónico de contacto: [email protected]
--App Domains: www.miweb.com
--Hosting URL:
--Sandbox Mode: Opción desactivada
Selecciona cómo tu aplicación se integra con Facebook
-- He seleccionado la opción "Sitio web con Facebook Login" y he introducido la url donde se aloja la app, ej. www.miweb.com/concurso/

Una vez configurado he hecho las siguientes pruebas:
--Desconectado de Facebook:
--Conectado pero sin ser fan
--Conectado siendo fan
--Probado con cuenta de desarrollador y cuenta ajena
--Borrado siempre entre prueba y prueba las cookies, cache...

En todas me ha ocurrido lo mismo: No ha pasado nada, es decir, he pasado todas las condiciones y me ha dejado donde tu código indica
Código PHP:
Ver original
  1. //Muestro me gusta

Nose en que estoy fallando, agradecería nuevamente tu ayuda. ¡Un saludo!
  #8 (permalink)  
Antiguo 10/06/2013, 04:17
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como mostrar contenido oculto a fans de Facebook?

Novedades... no he tocado nada (Solo reiniciado el pc). Cuando no estas logeado en FB te manda a la página de Facebook login, te identificas y te redirecciona a www.miweb.com/concursos/, tal y como quería, pero los demas problemas siguen existiendo, es decir, aunque no sea fan, muestra el contenido...
¿Se te ocurre algo?
¡Un saludo!

Etiquetas: app, facebook, sdk
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:31.