Login de Facebook

publicado por: Anonymous

Tengo un código con el cual hago un login por medio de facebook, y es el siguiente:

<script>
    window.fbAsyncInit = function() {
        FB.init({
        appId      : 'xxxxxxxxxxxxxxxx',
        xfbml      : true,
         version    : 'v2.6'
        });
    };

    (function(d, s, id){
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    function validarUsuario() {  
        FB.getLoginStatus(function(response) {  
            if(response.status == 'connected') {  
                FB.api('/me', function(response){  
                    alert('Hola ' + response.name);  
                });  
            } else if(response.status == 'not_authorized') {  
                    alert('Debes autorizar la app!');  
            } else {  
                alert('Debes ingresar a tu cuenta de Facebook!');  
            }  
        });  
    }  

    function ingresar() {  
        FB.login(function(response){  
            validarUsuario();  
        }, {scope: 'public_profile, email'});  
    }
</script>

Y la llamada a la función “ingresar” la hago con el siguiente botón:

<div id="IngresaFacebook" onclick="ingresar()"></div>

Mi duda es la siguiente:

No tengo idea de como obtener los datos del scope. Solo pude obtener el nombre con “response.name”, pero no se como hacer para conseguir el email. ¿Alguien me podría ayudar con esto? Gracias!

solución

FB.api('/me?fields=id,name,email,permissions', function(response) {
    console.log('Me alegro de verte, ' + response.email + '.');
    alert('Me alegro de verte, ' + response.email + '.');
});  

Permite acceder a la dirección principal de correo electrónico de la persona mediante la propiedad email del objeto user.

Ten en cuenta que solicitar el permiso email no garantiza que obtengas una dirección de correo electrónico. Por ejemplo, si un usuario inicia sesión en Facebook con un número de teléfono en vez de con una dirección de correo electrónico, este campo podría estar vacío.

Referencia – Facebook for developers

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *