Rails アプリ内で、誰かが Facebook にサインアップすると、その人の電子メール、名前、画像、場所、略歴、Web サイトを取得しようとします。
私はOmniauth Facebookを使用しています。私が従ったガイドは次のとおりです。
サインアップはスムーズに機能し、ブラウザーやログにエラーは表示されませんが、場所、経歴、および Web サイトはすべて nill として返されます。何が原因でしょうか? どうすればこれを修正できますか?
user_location、user_about_me、user_website を呼び出すことはできますか?
https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=en_GB#reference
宝石ファイル:
gem 'devise'
gem 'omniauth-facebook'
ユーザー.rb
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.email = auth.info.email
user.password = Devise.friendly_token[0,20]
user.name = auth.info.name
user.image = auth.info.image
user.location = auth.info.user_location
user.about = auth.info.user_about_me
user.website = auth.info.user_website
end
end
Devise.rb 初期化子
config.omniauth :facebook, "APP_ID", "APP_SECRET",
scope: 'email, user_location, user_about_me, user_website',
strategy_class: OmniAuth::Strategies::Facebook
どんな助けでも大歓迎です!