Facebook FB.login 不会要求用户提供电子邮件权限?
Posted
技术标签:
【中文标题】Facebook FB.login 不会要求用户提供电子邮件权限?【英文标题】:Facebook FB.login won't ask the user for email permissions? 【发布时间】:2011-08-19 03:25:58 【问题描述】:我的网站使用 Facebook 身份验证。一切正常,除了我似乎无法收到用户的电子邮件。我正在使用这个功能:
onclick="FB.login(function(response),perms:\'email\');"
这确实会提示用户授予他的权限,但不会提示他的电子邮件(我尝试添加其他特殊权限,但没有成功)。
当然,后来当我使用 FB.api('/me') 时,我没有收到用户的电子邮件。 我的页面可以找到here。
谢谢!
【问题讨论】:
【参考方案1】:不是perms
,是scope
onclick="FB.login(function(response),scope:\'email\');"
http://developers.facebook.com/docs/reference/javascript/FB.login/
【讨论】:
@Aviv:查看您的代码,如果您想使用scope
参数,您应该在FB.init()
中将oauth
设置为true。你在onclick
中的FB.login
方法也不正确。【参考方案2】:
您没有初始化 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
来获得您的权限。
【讨论】:
以上是关于Facebook FB.login 不会要求用户提供电子邮件权限?的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Javascript SDK - Fb.login 在浏览器内置的 Facebook 上不起作用
Facebook JavaScript SDK:FB.getLoginStatus和FB.Login在Chrome上不起作用