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 に答える