如何使用javascript SDK从facebook返回姓名和电子邮件

如何使用javascript SDK从facebook返回姓名和电子邮件,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我正在使用facebook javascript SDK,在获取姓名和电子邮件时遇到问题 当我控制台记录我的响应时,它只包括accessToken、expiresIn、signedRequest和userID。我试着切换到不同的版本,但没有成功 下面是我试过的- $( document ).ready(function() { (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if

我正在使用facebook javascript SDK,在获取姓名和电子邮件时遇到问题

当我控制台记录我的响应时,它只包括accessToken、expiresIn、signedRequest和userID。我试着切换到不同的版本,但没有成功

下面是我试过的-

    $( document ).ready(function() {

    (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#xfbml=1&version=v2.11&appId=myapp_id&autoLogAppEvents=1'; //used my app id
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

    window.fbAsyncInit = function() {
        FB.init({
          appId      : 'App_idd', //used my app id
          cookie     : true,
          xfbml      : true,
          version    : 'v2.11' //also tried v2.4
        });

        FB.AppEvents.logPageView();   

        FB.getLoginStatus(function (response) {
            console.log(response);
            if (response.status === 'connected') {
                //get needed fields
            } else if (response.status === 'not_authorized') {

            } else {

            }
        });

    };

});

使用以下功能发送电子邮件并从中获取其他字段


/me指的是当前用户。

您在console.log时收到响应了吗?是的,正如我上面所说,我的响应由以下字段组成:accessToken、expiresIn、signedRequest、UserId阅读此,它解释了您需要知道的一切:我应该何时调用此项?登录时还是?如果我在onload中的fb.getloginStatus之后添加此项,我会收到以下错误:“必须使用活动访问令牌来查询有关当前用户的信息”。键入:“OAuthException”,代码:2500,fbtrace_id:“HFlvCcY+aOE”“登录后,从响应中获取accessToken并传递给函数。只需将/me替换为/accessTokenGoesHereall我的所有函数都在文档中就绪(onload)我是否必须在按钮登录时调用fb.login单击?这不起作用fb.getLoginStatus(函数(响应){console.log(响应);if(response.status=='connected'){var uid=response.authResponse.userID;var accessToken=response.authResponse.accessToken;FB.api(accessToken,{fields:'email'},函数(response){console.log(response);});}如果(response.status=='not_authorized'){}否则{});我可以得到姓氏,但不能得到电子邮件{字段:'name,id,last_name,email'}@Mayur
FB.api('/me', {fields: 'email'}, function(response) {
console.log(response);
});