我在将生日信息从 facebook 获取到我的应用程序时遇到问题。最大的问题是误解了 FB 的权限页面:http: //developers.facebook.com/docs/authentication/permissions/
这里的生日被描述为 user_birthday。但这不是您可以从响应中获取它的方式。我找到了一个非常简单的解决方案。
我在将生日信息从 facebook 获取到我的应用程序时遇到问题。最大的问题是误解了 FB 的权限页面:http: //developers.facebook.com/docs/authentication/permissions/
这里的生日被描述为 user_birthday。但这不是您可以从响应中获取它的方式。我找到了一个非常简单的解决方案。
如果您有类似的方法,从 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。