Как получить информацию о пользователе Facebook с помощью FB.login () - PullRequest
0 голосов
/ 29 января 2020

В моем коде я использую функцию "FB.login ()" для входа в систему пользователя. С переменной ответа ниже у меня есть доступ только к идентификатору пользователя. Можно ли получить имя пользователя и адрес электронной почты? Это мой код:

<script>
    window.fbAsyncInit = function () {
        FB.init({
            appId: '531991481003168',
            cookie: true,
            xfbml: true,
            version: 'v5.0'
        });

        FB.AppEvents.logPageView();

    };

    (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 = "https://connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));


</script>

<script async defer src="https://connect.facebook.net/en_US/sdk.js"></script>

<script type="text/javascript">
    function statusChangeCallback(response) {

        if (response.status !== "connected") {
            FB.login(function (response) {
                console.log(response);
            });    
        }
    }
    $(document).ready(function () {

        $("#btn-facebook").on("click", function() {
            FB.getLoginStatus(function (response) {
                statusChangeCallback(response);
            });
        });
    });
</script>

Документация Facebook очень запутана, и я не могу найти эту простую вещь.

1 Ответ

1 голос
/ 29 января 2020

После входа в систему используйте FB.api для получения дополнительных данных:

FB.api('/me', {fields: 'name,email'}, (response) => {
    document.getElementById('response').innerHTML = 'Hello ' + response.name;
});

Пример: https://www.devils-heaven.com/facebook-javascript-sdk-login/

...