0

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

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

4

1 回答 1

5

如果您有类似的方法,从 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。

于 2012-09-19T18:39:09.233 回答