将Facebook生日信息添加到rails / Design / omniauth中的某些模型中



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

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

如果你

有这样的方法,从facebok获得生日很容易

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。

最新更新