Получить профиль пользователя facebook с помощью Cordova

Я хочу получить имя, фамилию, адрес электронной почты, когда пользователь входит в систему через facebook. Мое приложение находится в Кордове. Я использую плагин Cordova для аутентификации в Facebook, этот "https://github.com/Wizcorp/phonegap-facebook-plugin". Я могу войти в систему через Facebook, но как я могу получить от него имя и адрес электронной почты. Заранее спасибо.


person Krishna    schedule 21.04.2016    source источник


Ответы (2)


добавьте плагин facebook cordova, используя приведенную ниже команду см. подробности

cordova plugin add https://github.com/Wizcorp/phonegap-facebook-plugin --variable APP_ID="YOURAPPID" --variable APP_NAME="YOURAPPNAME" 

HTML-код

 <div onclick="fblogin();"><img src="img/facebook.png" /></div>

Javascript-код

<script>
            function fblogin(){

            facebookConnectPlugin.login( ["public_profile","email"],
                function (response) {

                    if(response.authResponse.userID!=''){
                        facebookConnectPlugin.api(response.authResponse.userID+"/?fields=id,email,first_name", ["public_profile"],
                        function (response) {
                            console.log('SUCCESS:'+response);
                            alert('first_name : '+response.first_name+',email:'+response.email+',id:'+response.id);
                        },
                        function (response) {
                            console.log('ERROR:'+response);
                        });
                    }    

                }, 
                function (response) {   
                        console.log('ERROR:'+response);
               });

               }

               </script>
person kishore.k.vaishnav    schedule 21.04.2016
comment
Большое спасибо @kishore. Это действительно здорово!! - person Krishna; 21.04.2016

Попробуйте эту функцию входа, указав ниже Snippet.

var fbLogin = function() {
    facebookConnectPlugin.login(["public_profile", "email", "user_birthday", "user_location"],
        function(response) {
            console.log("Login Response :" + JSON.stringify(response));
            //alert("Login Response :" + JSON.stringify(response))
            this.authId = response.authResponse.userID;
            if (response.status == "connected") {
                facebookConnectPlugin.api("/" + response.authResponse.userID, ["public_profile", "email", "user_birthday", "user_location"],
                    function(result) {
                        this.email = result.email;
                        this.firstname = result.first_name;
                        this.lastname = result.last_name;
                        this.birthdate = result.birthday;
                        this.city = result.location.name;
                    },
                    function(error) {
                        alert("Failed: " + error);
                    });
            }
        },
        function(response) {
            alert("Other Response : " + JSON.stringify(response))
        });
}
person Jay Rathod RJ    schedule 21.04.2016
comment
Большое спасибо .. Джей - person Krishna; 21.04.2016
comment
@Krishnavrinsoft у вас есть электронная почта, имя, фамилия с этим кодом? - person Jay Rathod RJ; 21.04.2016
comment
@Krishnavrinsoft Пожалуйста, проголосуйте за него, так как он работает. Поскольку я дал второй ответ, спасибо :). - person Jay Rathod RJ; 21.04.2016
comment
да, я получил адрес электронной почты и имя из этого кода. Как я могу получить фамилию? - person Krishna; 21.04.2016
comment
@Krishnavrinsoft проверьте здесь, вы получите фамилию с этим this.lastname = result.last_name;. Проверьте это даст вам всю необходимую информацию. - person Jay Rathod RJ; 21.04.2016
comment
Я получил только эти результаты {name:Krishna Vaghela,id:209875122729367} Также я не могу получить электронную почту даже - person Krishna; 21.04.2016
comment
@Krishnavrinsoft вы получаете оповещения со значениями, которые я поместил в свой код. попробуй поставить все значения в алерты и проверь. - person Jay Rathod RJ; 21.04.2016
comment
@Krishnavrinsoft у тебя есть вся информация? если нет, очистите данные приложения и запустите снова, потому что оно использует старые разрешения, которые вы дали. Затем попробуйте и проверьте. - person Jay Rathod RJ; 21.04.2016
comment
Давайте продолжим обсуждение в чате. - person Krishna; 21.04.2016