2011-09-01 87 views
7

我想知道如何捕捉考拉oauth异常(例如用户密码重置)。如何捕捉考拉:: Facebook :: APIError OAuthException或用户密码重置

现在这是我/使用至今:

rescue_from Koala::Facebook::APIError do 
    # redirect to fb auth dialog 
end 

但这捕获所有的错误..我怎么能做到这一点只用OAuth的或唯一的密码重置?

编辑:

发现了更明确的解决问题的方法:

rescue_from Koala::Facebook::APIError do |exception| 
    if exception.fb_error_type == 190 
    # password reset - redirect to auth dialog 
    else 
    raise "Facebook Error: #{exception.fb_error_type}" 
    end 
end 

在此先感谢 奥利弗

回答

2

我会告诉你一些代码,我有,怎么我设法从考拉捕捉和营救例外:

def post_message_facebook_wall(message) 
    unless self.token.nil? 
     begin 
     facebook_graph = Koala::Facebook::GraphAPI.new(self.token) 
     object_from_koala = facebook_graph.put_wall_post(message) 
     rescue Koala::Facebook::APIError => exc 
     logger.error("Problems posting to Facebook Wall..."+self.inspect+" "+exc.message) 
     end 
    end 
end 

Th是rescue Koala::Facebook::APIError => exc应该做的伎俩。