【问题标题】:Adding facebook birthday information to some model in rails / devise / omniauth在 rails / devise / omniauth 中的某些模型中添加 facebook 生日信息
【发布时间】:2012-09-19 18:39:09
【问题描述】:

我在将生日信息从 facebook 获取到我的应用程序时遇到了问题。 最大的问题是误解了 FB 的权限页面: http://developers.facebook.com/docs/authentication/permissions/

这里的生日被描述为 user_birthday。但这不是您可以从响应中获取它的方式。我找到了一个非常简单的解决方案。

【问题讨论】:

    标签: ruby-on-rails facebook devise


    【解决方案1】:

    如果你有类似的方法,从 Facebook 获取生日很容易

    def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
    user = User.where(:provider => auth.provider, :uid => auth.uid).first
    unless user
      user = User.create!(
                           provider:auth.provider,
                           uid:auth.uid,
                           email:auth.info.email,
    
                           password:Devise.friendly_token[0,20]
                           )
        @player = Player.new
        @player = Date.strptime(auth.extra.raw_info.birthday,'%m/%d/%Y')
        @player.save
    end
    user
    end
    

    这里的关键部分是从正确的数组中获取strptime,它不是user_birthday,而只是生日。还要确保您已在 devise.rb 中将 user_birthday 设置为权限 -> 否则您只会收到 nil。

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多