Facebook连接 - Javascript

时间:2015-08-05 11:40:12

标签: javascript facebook facebook-javascript-sdk

我正在尝试在我的网站上实现Facebook连接以填充输入字段。

但是,尽管我的Facebook应用程序询问我是否可以访问该电子邮件地址,但我无法获取该电子邮件地址或姓氏和名字。

这是我的剧本:

<script>
  window.fbAsyncInit = function() {
        FB.init({
            appId      : '######', // App ID
            status     : true, // check login status
            xfbml      : true,
            cookie     : true,
            version    : 'v2.4' // Version
        });

    };

    function Login()
    {
        FB.login(function(response) {
            if(response.authResponse) 
            {
                getUserInfo();
            }else{
                console.log('User cancelled login or did not fully authorize.');
            }
        },{scope: 'public_profile,email'});
    }

    function getUserInfo()
    {
        FB.api('/me', function(response) {

                document.getElementById("name").value = response.name;
                document.getElementById("first_name").value = response.first_name;
                document.getElementById("last_name").value = response.last_name;
                document.getElementById("email").value = response.email;

            FB.api('/me/picture?type=normal', function(response) {

                    var str ="<br/><b>Pic</b> : <img src='"+response.data.url+"'/>";
                        str +="<input type='button' value='Logout' onclick='Logout();'/>";
                    document.getElementById("status").innerHTML=str;

            });
        });
    }

    function Logout()
    {
        FB.logout(function(){document.location.reload();});
    }

    // Load the SDK asynchronously
    (function(d){
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/en_EN/all.js";
            ref.parentNode.insertBefore(js, ref);
    }(document));

</script>

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

您应该明确请求您需要的字段:

FB.api('/me?fields=email,...')

请参阅Using the Graph API doc

中的Choosing Fields一章

您还可以使用工具和工具中的Graph API Explorer来试用您的请求。 FB Developer网站的支持部分