我的网站使用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
为您的权限