¿Tengo que hacer una llamada a la API de gráfico a través del FB.api
para obtener el nombre del usuario registrado actualmente? O, ¿hay una manera más fácil/más rápida?Facebook JS SDK ¿cómo obtener el nombre del usuario actual?
Respuesta
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.
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 />";
});
});
}
FB.api('/me', function(response) {
$('#name').html("Welcome " + response.name);
});
Eso es todo lo que necesita.
Si desea el primer nombre, debe ser' response.first_name', no 'response.name' –
@ Super Chafouin gracias pero response.first_name gived undefined. –
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.
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.
- 1. Facebook JS SDK FB.logout() no termina la sesión del usuario
- 2. JavaScript - Cómo obtener el nombre del usuario actual
- 3. Facebook JS SDK - FB.getLoginStatus = indefinido
- 4. ¿Cómo obtener el GUID del usuario actual?
- 5. Facebook SDK 3.0: ¿cómo recibir el correo electrónico del usuario?
- 6. obtener el rol del usuario actual
- 7. SharePoint obtiene el nombre de usuario actual?
- 8. Facebook iOS SDK no devuelve el correo electrónico del usuario
- 9. Cómo obtener la información de los amigos del usuario de Facebook usando el SDK de JavaScript
- 10. cómo obtener el ID de correo electrónico del usuario de Facebook usando javascript SDK
- 11. Obtener el directorio personal del usuario actual
- 12. Obtener el nombre del método actual
- 13. PHP Obtener el nombre del directorio actual
- 14. ¿Cómo obtengo el nombre del usuario actual de Windows en formato de nombre de usuario @ dominio?
- 15. Como llegar Información de usuario usando JS SDK después de iniciar sesión en Facebook
- 16. Obtener el nombre de usuario actual cuando suplantado
- 17. Permiso para obtener el correo electrónico del usuario con Facebook PHP SDK
- 18. Localización: ¿cómo obtener el idioma actual del usuario?
- 19. Inyectando el SDK JS de Facebook en Controladores AngularJS
- 20. Cómo obtener el nombre del tema actual en Magento
- 21. ¿Cómo obtener el nombre del módulo actual en Haskell
- 22. ¿Cómo obtener el nombre del método actual en Delphi 7?
- 23. ¿Cómo obtener el nombre de nodo primario del nodo actual?
- 24. ¿Cómo obtener el nombre actual del proceso en Linux?
- 25. ¿Cómo puedo obtener el nombre del directorio actual en Javascript?
- 26. FACEBOOK JS SDK :: cómo publicar una imagen en la pared
- 27. JS SDK contra PHP SDK
- 28. ¿Cómo obtengo el ID de usuario de Facebook del objeto de Facebook en el SDK de iOS?
- 29. FB JS-SDK no puede detectar el inicio de sesión del usuario de FB directamente
- 30. Android Facebook SDK - ¿Cómo iniciar sesión como otro usuario?
¿Dónde lo almacenaría en caché? ¿Almacenamiento local? – ma11hew28
'' 'window.localStorage.setItem ('facebook', JSON.stringify (response))' ' – Alastair