Użyłem devise i omniauth-facebook w mojej aplikacji Rails 3 do uwierzytelniania Facebooka, na podstawie tego samouczka: Adding Facebook auth to Rails 3.1 app i działa dobrze!Dostęp do tokena z uwierzytelniania + omniauth-facebook do użycia w fb-wykresie
Ale teraz chcę mieć pełną integrację z Facebookiem w mojej aplikacji, dzięki której mam dostęp do zdjęć użytkownika, przyjaciół itp., A do tego mam zamiar użyć fb_graph. fb_graph wymaga tokena i chciałem wiedzieć, jak edytować mój model użytkownika, aby zapisać token i użyć go w fb_graph. Każda pomoc w tej sprawie będzie bardzo ceniona.
ten sposób mojego modelu użytkownika wygląda teraz:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
has_many :photos
has_many :scrapbooks
def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
data = access_token.extra.raw_info
if user = User.where(:email => data.email).first
user
else # Create a user with a stub password.
User.create!(:email => data.email, :password => Devise.friendly_token[0,20])
end
end
def self.new_with_session(params, session)
super.tap do |user|
if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
user.email = data["email"]
end
end
end
end
Chodźmy [zobacz] (http://facebook-developer.net/2008/08/ 05/optimize-your-database-tables-for-facebook-connect /). Utwórz model 'Facebook' i zapisz w tym stole, ale nie jestem pewien, czy to najlepszy sposób. : P – Rafaiel