2011-02-13 33 views

Respuesta

1

Sí, debe usar la llamada api, ya que no está codificada en el token de acceso ni en ninguna otra información que se haya pasado a una aplicación.

Si la preocupación es el rendimiento, puede, por supuesto, almacenar en caché el resultado.

+0

¿Dónde lo almacenaría en caché? ¿Almacenamiento local? – ma11hew28

+0

'' 'window.localStorage.setItem ('facebook', JSON.stringify (response))' ' – Alastair

0

Es bueno llamar a graph api call para obtener User primer nombre. También puede consultar la tabla User para obtener el nombre del usuario. Depende de ti, ¿qué te gusta?

1

Puede utilizar el FB.api de la siguiente manera

function fqlQuery(){ 
     FB.api('/me', function(response) { 
       var query = FB.Data.query('select name,email,hometown_location, sex, pic_square from user where uid={0}', response.id); 
       query.wait(function(rows) { 
       uid = rows[0].uid; 
       document.getElementById('name').innerHTML = 
        'Your name: ' + rows[0].name + "<br />" + 
        'Your email: ' + rows[0].email + "<br />" + 
        'Your hometown_location: ' + rows[0].hometown_location + "<br />" + 
        'Your sex: ' + rows[0].sex + "<br />" + 
        'Your uid: ' + rows[0].uid + "<br />" + 
        '<img src="' + rows[0].pic_square + '" alt="" />' + "<br />"; 
       }); 
     }); 
    } 
11
FB.api('/me', function(response) { 
    $('#name').html("Welcome " + response.name); 
}); 

Eso es todo lo que necesita.

+6

Si desea el primer nombre, debe ser' response.first_name', no 'response.name' –

+3

@ Super Chafouin gracias pero response.first_name gived undefined. –

0

El SDK de JavaScript que Facebook le permite obtener el primer nombre, el apellido (que no requiere un permiso especial), el historial educativo y mucho más que un perfil de usuario de Facebook. Pero, para obtener información 'sensible', el usuario debe aprobar su aplicación (si es que aún no lo ha hecho) y luego aprobar la información 'sensible' como el historial educativo. La página al http://www.virtualsecrets.com/facebook-user-data-on-webpage-form.html muestra todo el proceso de trabajo con javascript SDK y algo de información sobre cómo configurar aplicaciones con páginas web.

2

Los atributos de nombre y apellido ya no son devueltos por la solicitud de inicio de sesión de FB JS SDK API. Esto cambió alguna vez entre ver. 2.2 (06/2014) y 2.5 (01/2015).

La razón detrás es, que la solicitud de inicio de sesión sólo devuelve los atributos disponibles para el público, que es fbid y nombre. El nombre y el apellido no son atributos de acceso público y requieren permisos otorgados por un usuario. See here.

se utiliza una "solución conjetura" - si el atributo de nombre tiene más de 1 palabra, les dividió en apellido y apellido atributos, o poblar apellido del nombre. Es mejor/más fácil en algunas situaciones que molestar a los usuarios con permisos, revisiones de respuesta, devoluciones de llamadas, etc.

Cuestiones relacionadas