私は Facebook Graph API 呼び出しに Koala を使用しており、すべてのユーザーが新しいデータを収集するためにブロックを使用しています。ただし、ユーザーの 1 人がパスワードを変更したため、ブロックで Koala::Facebook::APIError: OAuthException エラーが発生し、例外の後にブロックを実行していません。例外を検出してそのユーザーをスキップするにはどうすればよいですか?
User.all.each do |g|
@graph = Koala::Facebook::API.new(Service.find_by_user_id(g.id).access_token)
@friends = @graph.get_connections("me", "friends")
etc...
end
私は 3 つの潜在的な解決策を試みましたが、それらを正しく実装する方法や、より良い方法があるかどうかはわかりません。レスキューを使用すると、何もせずにブロック全体が完了します。最終的には新しいアクセス トークンを取得する必要がありますが、今のところはそれらをスキップしてブロックを続行できるようにしたいだけです。
rescue_from Koala::Facebook::APIError
rescue Koala::Facebook::APIError => e
if Koala::Facebook::API.new(Service.find_by_user_id(g.id).access_token) == Koala::Facebook::APIError
return
end