Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

FACEBOOK CONNECT - que hago mal ?

Estas en el tema de FACEBOOK CONNECT - que hago mal ? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. AMIGOS : he conseguido un codigo fuente para loggin via Facebook Connect El tema es que despues de crearse la session, el flujo del programa ...
  #1 (permalink)  
Antiguo 08/02/2011, 15:07
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Pregunta FACEBOOK CONNECT - que hago mal ?

AMIGOS: he conseguido un codigo fuente para loggin via Facebook Connect

El tema es que despues de crearse la session, el flujo del programa no llega hacia donde se imprimen los datos del usuario.

Creo que la session se crea porque se genera una URL como esta

Les dejo el codigo que estoy usando...... a ver si me orientan que me siento muy confundido. GRACIAS!

Código PHP:
<?php
// http://www.facebook.com/developers/apps.php?app_id=139447982785879&ret=2


// Config: 
// Página "Acerca de" Como se desee, no afecta a la aplicación.
// Pagina "Web Site" debemos indicar Site URL con la url de nuestra aplicación.
// Página "Facebook Integration", rellenamos canvas URL con la carpeta donde está nuestro index.php // Canvas Type lo pasamos a Iframe.
// El resto lo dejamos por defecto.
 
// Preparando e iniciando la clase de facebook SDK
require 'src/facebook.php';
/*
Los datos de configuración los sacamos...
- De La página de nuestra aplicacion
- De la pestaña de configuracion "Facebook Integration"
- Viendo el código de ejemplo que nos ofrece facebook.
*/
 
$facebook = new Facebook(array(
  
'appId'  => 'xxx',
  
'secret' => 'xxxxxxxxxxxxxx',
  
'cookie' => true,
));

// Extraemos la sesión, sin ella no sabremos si graph va a funcionar
$fbSession $facebook->getSession();
 
// Si no tenemos sesión: Forzamos la sesión y pedimos permisos al usuario...
if (!$fbSession)
{
  
// Vemos si el usuario está cargando nuestra aplicación desde Facebook    
   
if ( isset($_GET['fb_sig_in_iframe']) && $_GET['fb_sig_in_iframe'] == )
  
// también nos sirve: if ( isset($_GET['fb_sig_in_iframe']) && $_GET['fb_sig_in_iframe'] == 1 )
  
{
    
// Aplicación cargada desde Facebook:
 
    // Usamos la funcion getLoginUrl para conseguir el link de login
    // Las urls de vuelta tendrán que ser entonces las de Facebook
    
$url $facebook->getLoginUrl(array(
      
'canvas' => 1,
      
'fbconnect' => 1,
      
'next' =>  'http://apps.facebook.com/encontron/',
      
'cancel_url' =>  'http://apps.facebook.com/encontron/',
      
'req_perms' => 'read_stream,publish_stream' // Más permisos en: http://developers.facebook.com/docs/authentication/permissions
    
));
    
// Redirect a la página de login y permisos de Facebook
    
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
  }    
  else
  {
    
// Fuera de Facebook:
 
    // Usamos la funcion getLoginUrl para conseguir el link de login
    // Las urls de vuelta tendrán que ser entonces las de nuestro site, no las de Facebook
    
$url $facebook->getLoginUrl(array(
      
'canvas' => 0,
      
'fbconnect' => 1,
      
'next' =>  'http://encontron.com/facebook/fbc.php',
      
'cancel_url' =>  'http://encontron.com/facebook/fbc.php',
      
'req_perms' => 'read_stream,publish_stream' // Más permisos en: http://developers.facebook.com/docs/authentication/permissions
    
));
 
    
// Página para con un link para logarnos en Facebook. En este ejemplo solo mostramos el link...
    
echo "<a href='$url' target='_top'><img src='/facebook/fb_login.png'/></a>";
 
    
// También podríamos lanzar:
    // header( 'Location: ' . $url );
    // pero creo que quedaría extraño entrar en una web y ver Facebook de golpe...
  
}
  die(); 
// un die, para parar el proceso, hay formas más elegantes, pero esto es un script ;)
}
 
// Con sesión ya iniciada...
echo "<h1>Ejemplo Aplicacion de Facebook</h1><p>M&aacute;s info en <a href='http://blog.ikhuerta.com/crear-una-aplicacion-con-facebook-graph-api-en-modo-iframe'>el blog de ikhuerta</a></p>";
 
// Usando la Api
if ($fbSession )

  try 
  {
    
// accedemos a los datos del usuario logado...
    
$me $facebook->api("me");
    echo 
"<h3>Hola "$me['name'] . "</h3>";
 
    
// Y luego los datos de sus amigos
    
$myFriends $facebook->api("me/friends");
    echo 
"<p>Estos son tus amigos: </p><p>";
    foreach (
$myFriends['data'] as $friend)
    {
      echo 
$friend['name'] . " - ";
    }        
    echo 
"</p>";
 
    
// Pedimos permisos     al usuario
    // FQL tables and fields reference at: http://developers.facebook.com/docs/reference/fql/
    // Permission Names at: http://developers.facebook.com/docs/authentication/permissions
    
$fbperms $facebook->api(array(
      
'method'     => 'fql.query',
      
'query'     => "SELECT publish_stream,user_likes FROM permissions WHERE uid = me()"// or "SELECT PERMISSION_NAME FROM permissions WHERE uid = ".$me['id']
      
'callback'    => ''
    
));
 
    if ( isset(
$fbperms[0]["publish_stream"]) && $fbperms[0]["publish_stream"] == // comprobamos si tenemos permisos de publish_stream (para publicar en el muro)...
    
{
      
$newPostId $facebook->api'/me/feed''POST', array ( 
          
// vars at http://developers.facebook.com/docs/reference/api/post 
        
'message' => 'Esto se ha escrito automaticamente con la API',
        
'link' => 'http://blog.ikhuerta.com/crear-una-aplicacion-con-facebook-graph-api-en-modo-iframe'
        
'name' => 'Aprende a usar la API de facebook en Modo Iframe'
      
));
      echo 
"<h2>Se ha publicado un mensaje en el muro del usuario</h2>";
    }
    else
    {
      echo 
"<h2>No se ha podido publicar nada: El usuario no ha dado permiso a esta aplicación para publicar en su muro</h2>";
    }
  }
  catch (
FacebookApiException $e
  {
    
// Aqui escribe tus propias funciones para capturar el error de la excepcion "$e"
    
var_dump($e);
  }
}
?>

No se si habre especificado bien todo...... en la creacion de la APP para fb:




El script lo tengo corriendo en http://encontron.com/facebook/fbc.php

PD: el tuto es de ikhuerta
__________________
Salu2!

Última edición por jpinedo; 08/02/2011 a las 21:50
  #2 (permalink)  
Antiguo 09/02/2011, 06:37
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: FACEBOOK CONNECT - que hago mal ?

Amigos: aporto mas informacion a ver si me pueden ayudar!

Si intento correr el script "example.php" provisto por Facebook en https://github.com/facebook/php-sdk/

... me da el error "Uncaught OAuthException: Invalid OAuth access token signature" lo cual tambien obtengo si en tu script intento pasar los chequeos que haces antes de imprimir la informacion de usuario.

Que puede estar pasando ? los scripts lo he subido en

http://soysocial.net/facebook/index.php
http://soysocial.net/facebook/example.php (el oficial)

Gracias desde ya!


Jpinedo: gracias por la edicion ;)
__________________
Salu2!
  #3 (permalink)  
Antiguo 09/02/2011, 20:09
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: FACEBOOK CONNECT - que hago mal ?

Hola!

Mira te recomiendo que visites esta pagina:

[URL="http://thinkdiff.net"]http://thinkdiff.net[/URL]

Aqui puedes encontrar los mejores tutoriales para crear aplicaciones en facebook.

Te lo recomiendo !!
  #4 (permalink)  
Antiguo 09/02/2011, 20:52
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: FACEBOOK CONNECT - que hago mal ?

gracoas dj! estoy viendo ....mucha info en esa web :)
__________________
Salu2!

Etiquetas: facebook, mal
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 07:37.