2011-02-23 18 views
5

Estoy tratando de usar facebook connect para mi sitio web. Todo está bien cuando intento iniciar sesión como un usuario normal, toda la información correcta vuelve. Sin embargo, cuando inicio sesión como una cuenta "PAGE", las cosas comienzan a ponerse raras. Después de un inicio de sesión exitoso, si uso lo siguiente: https://graph.facebook.com/me/?access_token= {access token}, obtengo "falso" de nuevo. Si, en cambio, reemplazo "mi" con el ID de la cuenta de la página, obtengo la información correcta.Facebook Graph API devuelve falso para las cuentas de la página

Otra cuestión es, después de la entrada de la cookie de sesión fbs_appID está marcando el mal "uid" después de una conexión exitosa como una "página" cuenta. Todo está bien con una cuenta de usuario normal.

Todos los ajustes en mi página son "13+", y no hay restricciones de país.

Puede alguien por favor ayuda?

Respuesta

-1

Creo que algo está mal con su parte de inicio de sesión.

Si está utilizando Javascript SDK:

probar este console.dir(FB.getSession());

Si está utilizando el SDK de PHP: luego tratar:

$session = $facebook->getSession(); 
print_r($session); 

y el registro de la consola si está recibiendo el correcto sesión o no.

http://graph.facebook.com/me es siempre disponible hasta ya menos que se ha identificado. Se ni siquiera requiere ningún permiso adicional.

1

Estamos obteniendo el mismo comportamiento.

Si está iniciando sesión mientras está conectado como una página de Facebook, Facebook por lo general muestra un cuadro de diálogo que dice algo así como "No se puede iniciar sesión como una página de Facebook. Cambia el usuario xxx".

Por lo tanto, siempre debe obtener un usuario normal en su código de conexión de FB.

Pero parece que a veces no maneja Facebook que correctamente, y permitir que el usuario que intente acceder al sistema como una página de Facebook. Y luego, el código de acceso que obtienes no te permite obtener información del usuario.

Así que creo que no hay nada que pueda hacer, sólo advertir al usuario de que tiene que iniciar la sesión como un usuario de Facebook Perfil regular.

Ésta es la información completa del tráfico obtenemos: (con códigos anónimos):

 
GET /oauth/access_token?client_id=xxxxx&redirect_uri=xxxxx&client_secret=xxxx&code=xxx HTTP/1.1 
Connection: close 
Host: graph.facebook.com 


HTTP/1.1 200 OK 
Cache-Control: private, no-cache, no-store, must-revalidate 
Content-Type: text/plain; charset=UTF-8 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
Pragma: no-cache 
X-FB-Rev: 401390 
X-FB-Server: 10.42.17.21 
Connection: close 
Date: Wed, 06 Jul 2011 10:38:11 GMT 
Content-Length: 122 

access_token=xxxx&expires=4909 



GET /me?access_token=xxxx HTTP/1.1 
Connection: close 
Host: graph.facebook.com 

HTTP/1.1 200 OK 
Cache-Control: private, no-cache, no-store, must-revalidate 
Content-Type: text/javascript; charset=UTF-8 
ETag: \"7cb6efb98ba5972a9b5090dc2e517fe14d12cb04\" 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
P3P: CP=\"Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p\" 
Pragma: no-cache 
X-FB-Rev: 401390 
Set-Cookie: datr=aTsUTlxHtaaaK67aCdYmQbCO; expires=Fri, 05-Jul-2013 10:39:37 GMT; path=/; domain=.facebook.com; httponly 
X-FB-Server: 10.32.3.116 
Connection: close 
Date: Wed, 06 Jul 2011 10:39:37 GMT 
Content-Length: 5 

false 
-3

suprimir cualquier restricción País Edad y/o de los valores de la página.

1

He eliminado una restricción de país "predeterminada" de la configuración de página, y los datos se obtuvieron normalmente a través de Graph API. Sería bueno saber por qué afecta las solicitudes de API.

Cuestiones relacionadas