javascript - 如何使用 FB.login() 获取 facebook 用户信息

标签 javascript jquery facebook facebook-javascript-sdk

在我的代码中,我使用“FB.login()”函数来登录用户。使用下面的响应变量,我只能访问用户的 ID。是否可以检索用户的姓名和电子邮件? 这是我的代码:

<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 的文档真的很困惑,我找不到这个简单的东西。

最佳答案

登录后,使用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/

关于javascript - 如何使用 FB.login() 获取 facebook 用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59973921/

相关文章:

jQuery 可排序 Div

Facebook 应用程序因发布速度过快而被屏蔽。限制是什么?

facebook Graph API 发布到墙上不接受换行

iphone - 直接链接到 native Facebook 应用程序 (iOS6) 中的页面

javascript - 使用 JS 函数来使用另一个函数的语法? Node .js

javascript - 从e文件夹加载图像并以html显示它们

javascript - 使用 React-Router,如何在不触发重新渲染的情况下更新 URL?

javascript - webpack 2 和 css 中的背景图像

javascript - Jquery:如何:当显示 UL 时,让第一个 LI 动画 'left' 20px,然后到 0px,然后让第二个 LI 执行此操作,然后是第三个,依此类推

php - javascript 根据第一个更改剩余的下拉值