【问题标题】:Email, gender, age not returned with Omniauth and facebook API 2.4Omniauth 和 facebook API 2.4 未返回电子邮件、性别、年龄
【发布时间】:2015-07-27 00:30:21
【问题描述】:

我可以再用Omniauth取回电子邮件信息。

我认为问题出在 API 2.4,

但我不知道我怎么能得到预期的信息

设计配置

config.omniauth :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], {
  :scope => 'email',
  :info_fields => 'id,email,gender,link,locale,name,timezone,updated_time,verified',
  strategy_class: OmniAuth::Strategies::Facebook,
  :provider_ignores_state => true}

返回的信息不包括电子邮件信息

:1> env['omniauth.auth']
{
       "provider" => "facebook",
            "uid" => "xxxx",
           "info" => {
         "name" => "Eric Hsu",
        "image" => "http://graph.facebook.com/xxxx/picture?type=square"
    },
    "credentials" => {
             "token" => "CAAh",
        "expires_at" => 1443066205,
           "expires" => true
    },
          "extra" => {
        "raw_info" => {
            "name" => "Eric Hsu",
              "id" => "xxxx"
        }
    }
}

【问题讨论】:

  • 必须在实际发出的 Graph API 请求中通过 fields 参数请求这些字段。如果omniauth 没有向您公开该部分,那么您将不得不等待他们更新他们的代码。
  • 我像你一样添加了 info_fields,它成功了,谢谢。

标签: facebook devise omniauth omniauth-facebook


【解决方案1】:

我发现问题在于 FB API 和omniauth-facebook 版本之间的依赖关系。 当前我安装了 gem omniauth-facebook (2.0.1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多