0

我正在使用 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
4

1 回答 1

0

每次调用 FB Graph API 时都需要获取新的 access_token。

从您的代码看来,您使用的访问令牌与用户连接到您的站点时第一次获得的访问令牌相同。这是不对的。

于 2012-03-26T05:41:09.157 回答