我正在使用 Koala 进行 Facebook Graph API 调用,并为我的所有用户使用一个块来收集新数据;但是,我的一个用户更改了他们的密码,所以现在我的块中出现 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
我尝试了三种可能的解决方案,但不知道如何正确实施它们或者是否有更好的方法。当我使用救援时,它只是完成整个块而不做任何事情。最终我需要获得一个新的访问令牌,但现在我只想能够跳过它们并继续阻止。
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