Foros del Web » Programando para Internet » PHP »

Problema con FQL para PHP

Estas en el tema de Problema con FQL para PHP en el foro de PHP en Foros del Web. Buenas! Ayer estuve lidiando con la API de FB para PHP, y me he encontrado con un problema que no se como resolver... Tengo todo ...
  #1 (permalink)  
Antiguo 11/01/2013, 01:34
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Problema con FQL para PHP

Buenas!

Ayer estuve lidiando con la API de FB para PHP, y me he encontrado con un problema que no se como resolver...

Tengo todo configurado, los persmisos user_events y friend_events, sin embargo una consulta no me funciona...

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
  4. <head>
  5.         <meta property="og:title" content="This Page Title"/>
  6.         <meta property="og:url" content="miweb.com"/>
  7.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8.     <meta http-equiv="Content-Language" content="en" />
  9.     <meta name="GENERATOR" content="PHPEclipse 1.2.0" />
  10.     <title>title</title>
  11. </head>
  12. <body>
  13. <?php
  14. $f = new Facebook($config); //la config está bien
  15. $user_id = $f->getUser();
  16.  
  17. if($user_id){
  18.     try{
  19.         $ret = $f->api(array('method' => 'fql.query',
  20.                                                                      'query' => 'select eid, uid, rsvp_status
  21.                                                                                       from event_member
  22.                                                                                       where uid = '.$user_id.';'));
  23.         print_r($ret);
  24.     }catch(FacebookApiException $e){
  25.         $login_url = $f->getLoginUrl();
  26.         echo('Please, <a href="'.$login_url.'">log in</a>');
  27.         echo('<hr />');
  28.         print_r($e->getType());echo(' ');
  29.         print_r($e->getMessage());
  30.     }
  31. }else{
  32.     $login_url = $f->getLoginUrl();
  33.     echo('Please, <a href="'.$login_url.'">log in</a>');
  34. }
  35. ?>

Y me devuelve un array vacío...

Sin embargo, si hago otra consulta, como "select name from user where uid = $user_id", sí funciona

¿Qué estoy haciendo mal?¿Qué falla?

En la herramienta de debug de FQL me funciona el select...

Gracias
  #2 (permalink)  
Antiguo 11/01/2013, 08:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

Pues dudo que un cambio en el código de PHP arregle tu problema, que claramente es la consulta de FQL, porque errores aquí no tienes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/01/2013, 11:17
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

En esas mismas estoy yo...

El PHP no me da errores; la sentencia FQL en Facebook me funciona, y si cambio la sentencia FQL por otra más sencilla (como "select name from user where uid = $user_id") funciona...

La sentencia FQL que hay en el post la he ido variando en varias pruebas, pero sigo sin sacar nada en claro...

Gracias por responder!
  #4 (permalink)  
Antiguo 11/01/2013, 11:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

¿Ya ejecutaste la consulta exactamente como te funciona en Facebook?

Digo, ¿exactamente igual no sirve?

Cuida carácter por carácter.

Ahora, ¿los datos de la API son los correctos?

Verifica dos veces todo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/01/2013, 13:01
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

Si, la sentencia es exactamente igual que la que puse en facebook;

además probé con algunas parecidas que encontré por internet (que hacían cosas similares) y nada...

Los permisos de Facebook creo que los tengo bien habilitados:

user_event y friends_event (son los que pone en la docu. de facebook)

Me está volviendo loco esto...
  #6 (permalink)  
Antiguo 11/01/2013, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

Pues reinicia las claves y comienza de nuevo, tu código es correcto, y lo que no puedes ver nosotros tampoco.

¿Cuando autorizaste tu aplicación si te mostró acerca de dichos permisos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 11/01/2013, 13:40
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

Primero añadí el permiso user_events, y al no funcionar añadí el friends_events.

¿Tengo que hacer algo para que se apliquen los cambios a parte de guardarlos en facebook?

He probado a resetear el secret de facebook y tampoco...

Gracias por tu tiempo
  #8 (permalink)  
Antiguo 11/01/2013, 13:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

El punto es que para usar el la API con el SDK, al momento de autorizar la aplicación deben salirte ahí los permisos que solicitaste.

Si una vez hiciste algo pero falto algo más entonces debes eliminar dicha aplicación de tu cuenta de nuevo para actualizar los permisos, o resetear el APP_ID también funciona.

¿Cómo es que resetear el secret no te funciona?

¿Ya no sale el diálogo de autorización?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 11/01/2013, 13:44
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

No... no me sale.

Solo me sale el dialog para iniciar sesión y ya...

Quizás me he dejado alguna configuración de facebook por settear...

¿qué apartados son obligatorios?

Gracias...
  #10 (permalink)  
Antiguo 11/01/2013, 13:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

No en la configuración de la aplicación, también tu código debe especificar dichos permisos, ¿pues cómo inicias sesión con el SDK?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 11/01/2013, 14:10
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

Código PHP:
Ver original
  1. $config = array();
  2. $config['appId'] = 'APP_ID';
  3. $config['secret'] = 'SECRET';
  4. $config['fileUpload'] = false; // optional
  5. $f = new Facebook($config);

a partir de ahí va el código que posteé en el primer mensaje...
  #12 (permalink)  
Antiguo 11/01/2013, 14:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con FQL para PHP

He ahí el problema, al momento de usar getLoginUrl() debes especificar en los los parámetros los permisos de la aplicación, ¿no estás leyendo la documentación?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 11/01/2013, 15:02
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Problema con FQL para PHP

Si!

Hostia, que error más tonto...

Mil Gracias!

Etiquetas: html
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 12:03.