1

真的很奇怪,我在谷歌上做了一些搜索,做了一些测试,也是用不同的方式登录,但我总是得到相同的结果。

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<fb:login-button autologoutlink="true" perms="email,user_birthday,user_hometown" size="large" onlogin="window.location = '/index.php';">Connect with Facebook</fb:login-button>
</div>
<script>
    FB.init({appId: 'xxxxxx', status: true,cookie: true, xfbml: true});
    FB.Event.subscribe('auth.login', function(response) 
    {
        window.location.reload();
    });
</script>

似乎电子邮件和 user_birthday 被忽略了:Facebook 不要求用户允许我访问这些信息。

在下面的例子中,我收到了授权家乡的提示,如果我删除家乡,我不会收到任何提示,我只能访问基本信息。

为什么会发生?有没有办法要求这些信息是强制性的?

我也尝试$facebook->getLoginUrl使用正确的范围,但结果相同。

我希望有人能够提供帮助。

提前致谢。

4

2 回答 2

0

对于用户生日和电子邮件,您需要用户的扩展权限

 FB.login(function(response) {
   // handle the response
 }, {scope: 'email,user_likes'});
于 2012-11-09T12:10:23.003 回答
0

<fb:login-button perms="email,user_birthday,user_hometown"

perms是一个过时的参数 - 请scope改用。

于 2012-11-09T12:32:32.067 回答