Facebook登入:

时间:2013-11-18 13:38:06

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-login

我正在尝试在Web应用程序中使用facebook实现登录。基本上,我使用SDK for Javascript,并且在第一次身份验证期间,我要求获得基本用户详细信息,电子邮件和用户位置的权限。我尝试了几个帐户的代码没有任何问题,但有一个帐户,我无法获取电子邮件地址,我不知道为什么。

E.g。使用以下一小段代码:

function fb_login(){
  FB.login(function(response) {
    if (response.authResponse) {
      print_me();
    }
  },{ scope: 'email,user_location' });
}

function print_me () {
  FB.api('/me', function(response) {
    console.log(response);
  });

Facebook要求用户提供权限,并正确说明我需要的信息。然后print_me打印所有配置文件,但是,对于该特定用户,电子邮件字段丢失(但我仍然得到该位置)。如果我使用访问令牌调试器调试令牌,我会收到令牌范围为:email,user_friends,user_location的确认。

此用户的隐私设置与我收到电子邮件的其他用户相同。

使用facebook-sdk(Python)处理令牌服务器端给了我相同的结果:完整配置文件但不是电子邮件地址。关于我做错了什么的任何线索?谢谢

1 个答案:

答案 0 :(得分:0)

我注意到如果你拉一些随机数量的配置文件,比如100,你会发现大约有75种不同的数据组合。例如,有些人会有“工作经历”而其他人则不会。如果配置文件足够大,则配置文件可能缺少信息。尝试使用Graph API资源管理器,并检查以确保您的网址位于“app setttings”中。 Facebook将仅允许通过在设置中正确配置的站点/应用程序访问信息。