0
私のアプリはOmniAuthを使ってFacebookを使ってユーザーを認証しますが、正常に動作しますが、ユーザーがセッションを作成してサインインするたびに、API経由で多くの情報を呼び出すため、Facebookへのリクエストには最大1分かかります。 || User.create_with_omniauth(auth,omniauth)
の場合、グラフオブジェクト(プロファイル、好きな人、友人)のみを呼び出すには、以下のコードをどのようにリファクタリングしますか?最初のセッション以外のセッションでFacebook APIへの呼び出しを防止するにはどうすればよいですか?
def create
auth = request.env["omniauth.auth"]
omniauth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth,omniauth)
session[:user_id] = user.id
session['fb_auth'] = request.env['omniauth.auth']
session['fb_access_token'] = omniauth['credentials']['token']
session['fb_error'] = nil
@graph = Koala::Facebook::GraphAPI.new(current_user.token)
current_user.profile = @graph.get_object("me")
current_user.likes = @graph.get_connections("me", "likes")
current_user.friends = @graph.get_connections("me", "friends")
current_user.save
redirect_to root_url
end
私はRedisの学習を開始する必要がありますね。実際にそうするのは良い言い訳です。ありがとう。 – Simpleton
ここから開始:http://railscasts.com/episodes/271-resque – cavneb