私はRubyとRailsの初心者ですが、フェイスブック経由での認証にOmniAuthを使用することができました。すべてうまく動作し、私はユーザーを作成することができ、Facebookでログインすることができます。Facebookからの情報取得OmniAuth認証ハッシュ
問題は、ユーザーデータ(電子メール、プロフィール写真など)の一部を取り出して保存することです。 README(https://github.com/mkdynamic/omniauth-facebook)を通って行く
は、私が見つけることができた:
はここrequest.env [ 'omniauth.auth']で利用可能な例の認証ハッシュです:
{
:provider => 'facebook',
:uid => '1234567',
:info => {
:nickname => 'jbloggs',
:email => '[email protected]',
:name => 'Joe Bloggs',
:first_name => 'Joe',
:last_name => 'Bloggs',
:image => 'http://graph.facebook.com/1234567/picture?type=square',
:urls => { :Facebook => 'http://www.facebook.com/jbloggs' },
:location => 'Palo Alto, California',
:verified => true
}
}
私が実行しようとしましたより多くの認証ハッシュを検索し、取得できる情報の一部をリストしています。https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema
問題は、私は特定のアクセス許可を求めました。問題は、Facebookがどのような種類の情報を送信しているかをどのように知っていますか?残念ながら、この情報はrequest.env [omniauth.auth ']にあると言ってもあまり良くありません。ここから情報を取得するにはどうすればよいですか?
私はRailsチュートリアル(http://ruby.railstutorial.org/)を試していますが、試行錯誤して自分のアプリケーションを作成しようとするのは本当の初心者です。
ありがとうございました。 railscastが情報を引き出す方法を示しているのを見てください。 – Victor
1つの質問。私はこれが新しい質問になるはずですが、認証ハッシュからデータを引っ張った後、重複しているデータがあるかどうかはわかりません。たとえば、ユーザーが複数の雇用者を持つ可能性があります。これをどうすれば処理できますか?私は一番最近の雇用主に興味があります。 – Victor
私はそのデータを見る必要があります。ハッシュは一般に順序付けられていません。それはあなたに日付を与えるのですか? –