Facebook FB.login不会要求用户提供电子邮件权限吗?



我的网站使用Facebook身份验证。一切都很好,除了我似乎无法收到用户的电子邮件。我正在使用这个函数:

 onclick="FB.login(function(response){},{perms:'email'});"

这确实提示用户他的权限,但不是他的电子邮件(我尝试添加其他特殊权限,但没有工作)。

当然,后来当我使用FB.api('/me')时,我没有得到用户的电子邮件。
我的页面可以在这里找到。

谢谢!

不是perms,是scope

 onclick="FB.login(function(response){},{scope:'email'});"
http://developers.facebook.com/docs/reference/javascript/FB.login/

您没有初始化Facebook JavaScript SDK -如果没有发生,任何对FB方法的调用都不会工作。您可以使用:

<script>               
    window.fbAsyncInit = function() {
        FB.init({
            appId: 'YOUR_APP_ID', 
            cookie: true, 
            xfbml: true,
            oauth: true
        });
    };
</script>

把它放在你的源代码后面:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script> 

和@steveax已经说过,你需要使用scope,而不是perms为您的权限

最新更新