为什么facebook会在经过验证的用户上返回null电子邮件?

时间:2016-05-26 21:27:53

标签: facebook facebook-graph-api facebook-javascript-sdk spring-social-facebook

我从一些用户的fb api调用中获取电子邮件字段时遇到问题。我可以确认我用经过验证的真实用户的邮件进行了测试。对于其中一些我得到电子邮件字段,但对于其他人我得到null。 我是获得访问令牌的标准js,我使用的是弹簧工件:

        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-facebook</artifactId>
            <version>2.0.3.RELEASE</version>
        </dependency>

这里是FE代码:

 FB.login(function(response) {
            if(response.authResponse.accessToken) {
                // submit token to server
                facebookSuccess(response.authResponse.accessToken);
            }
        }, {scope: 'public_profile,email'});


   window.fbAsyncInit = function() {
        FB.init({
            appId      : '1567056303561905',
            xfbml      : true,
            version    : 'v2.5'
        });
    };

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

这是服务器代码:

Facebook fb = new FacebookTemplate(accessToken);
    org.springframework.social.facebook.api.User fbUser = fb.userOperations().getUserProfile();

fbUser.getEmail(); //返回null

0 个答案:

没有答案