Ruby on rails 考拉Facebook api调用有时返回500错误

Ruby on rails 考拉Facebook api调用有时返回500错误,ruby-on-rails,facebook,koala,Ruby On Rails,Facebook,Koala,基本上,我试图从Facebook上抓取一个用户的相册,并用封面照片显示它们 在我的用户控制器中,我有: def facebook(token) @facebook ||= Koala::Facebook::API.new(token) end def get_photo_albums albums = self.facebook.get_connection(uid, "albums") albums.map { |h| { id: h["id"], name: h["name"]

基本上,我试图从Facebook上抓取一个用户的相册,并用封面照片显示它们

在我的用户控制器中,我有:

def facebook(token)
  @facebook ||= Koala::Facebook::API.new(token)
end

def get_photo_albums
  albums = self.facebook.get_connection(uid, "albums")
  albums.map { |h| { id: h["id"], name: h["name"], count: h["count"], cover_photo: self.facebook.get_picture(h["cover_photo"]) } }
end
此代码在大多数情况下工作正常,但偶尔会出现以下错误:

Koala::Facebook::APIError (HTTP 500: Response body: {"error":{"message":"No node specified","type":"Exception"}}):
app/models/user.rb:79:in `block in albums'
app/models/user.rb:79:in `map'
app/models/user.rb:79:in `albums'
我的应用程序位于画布上,每次用户访问该应用程序时,我都会解析已签名的_请求,从而获得一个新的访问令牌,这应该持续2小时


我不明白为什么这个错误会出现在一些用户身上,因为它在大多数情况下工作正常?任何改进此代码的想法或建议都将不胜感激。谢谢

我也遇到了同样的问题,如果回复中没有照片/封面照片,这种情况似乎会发生

, cover_photo: fb_cover_photo(h) } }
我用了这个营救声明:

def fb_cover_photo(photo)
    begin
      self.facebook.get_picture(photo["cover_photo"])
    rescue Exception => e
      nil
    end     
end