request.env['omniauth.auth']["info"]["email "] returns 无

request.env['omniauth.auth']["info"]["email "] returns nil

我有一个 rails 应用程序,我正在使用 omniAuth 授权 Facebook 登录,我的问题是 Facebook 没有 return 电子邮件。

这是数据:

 ruby '2.1.7'
 Graph API V2.5

我同时安装了gems'omniauth'和'omniauth-facebook'。我应该安装 'omniauth' 和 'omniauth-facebook' 的特定 gem 版本吗?

在我的 config.omniauth 我添加了

info_fields: 'email

但不幸的是我仍然面临同样的问题。

我尝试了以下这些解决方案,但 none 对我有用

why facebook email is not retrieved?

我在调用这个函数时也添加了电子邮件

 FB.api('/me?fields=name, email', function(response) {
      console.log(response);
        'Thanks for logging in, ' + response.email + '!';
    });

仅供参考:我正在与地址电子邮件经过验证的真实用户一起测试应用程序,当连接到 Facebook 时,我输入的是电子邮件地址而不是 phone 号码。

如有任何帮助,我们将不胜感激。谢谢!

尝试检查考拉gem 您可以指定要 return.

的版本和字段