Cordova Facebook登录仅返回accessToken

时间:2017-10-07 19:46:31

标签: javascript cordova facebook-graph-api

我正在使用the official Cordova Facebook plugin在我的移动应用中实施Facebook登录。我已经尝试了几天来使下面的代码工作,但我不知道问题出在哪里。我只需要检索用户电子邮件,姓名和性别。我只获得了accessstoken,我知道我需要调用API函数,但它也返回了accessstoken

<div onclick="login();apiTest();">Login with Facebook</div>
<script>
        var login = function () {
            facebookConnectPlugin.login( ["public_profile"],
                function (response) { alert(JSON.stringify(response)) },
                function (response) { alert(JSON.stringify(response)) });
        }

        var apiTest = function () {
            facebookConnectPlugin.api( "me/?fields=id,email,name,gender",
                function (response) { alert(JSON.stringify(response)) },
                function (response) { alert(JSON.stringify(response)) });
        }
</script>

请帮助,谢谢

1 个答案:

答案 0 :(得分:1)

您需要等到登录实际完成,这是异步的。此外,您需要电子邮件权限才能收到电子邮件:

<div onclick="login();">Login with Facebook</div>
<script>
        var login = function () {
            facebookConnectPlugin.login( ["email", "public_profile"],
                function (response) {
                    facebookConnectPlugin.api( "me/?fields=id,email,name,gender",
                        function (response) { alert(JSON.stringify(response)) },
                        function (response) { alert(JSON.stringify(response)) });
                },
                function (response) { alert(JSON.stringify(response)) });
        }
</script>