我在将生日信息从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。