2011-06-04 4 views
0

今日、私のfbgraph実装が内部エラーを引き起こす400 Bad Requestエラーを返すようになったことがわかりました。コントローラがどのように見えるRuby on Rails - コントローラのHTTPエラーをチェックする

def fb 
    fbclient = FBGraph::Client.new(:client_id => 'ID', :secret_id => 'SECRET') 
    @fbname = fbclient.selection.user('129220333799040').feed.info!['data'][0].from.name 
    @fbmessage = fbclient.selection.user('129220333799040').feed.info!['data'][0].message 
end 

どのように私は私が200のステータスを受け取ったことを私の見解で@fbnameを呼び出す前に確認することができますか?

ありがとうございました。

更新:デビンMの提案以下、私はあなたがAPIのFacebooksの悪夢で動作するように、そのハード、このためのいくつかのテストを書くべきだと思う

def fb 
     fbclient = FBGraph::Client.new(:client_id => 'ID', :secret_id => 'SECRET') 
     begin 
      @fbname = fbclient.selection.user('129220333799040').feed.info!['data'][0].from.name 
      @fbmessage = fbclient.selection.user('129220333799040').feed.info!['data'][0].message 
     rescue 
      @fbname = "Facebook Account" 
      @fbmessage = "Facebook's API is a nightmare" 
     end 
    end 
+1

私はあなたがユーザー権利(fbclient.selection.user( '129220333799040')を持っているかどうかを最初に確認する必要があると思います)。それを段階的に実行し、適切なチェックを追加してください。見つけたら400 – corroded

+0

@corroded - ありがとうございます。 apiが変更されたようです。私はまだユーザーにアクセスできますが、ユーザーのフィードにアクセスしようとすると400エラーになります – aperture

答えて

1

に上記の動作を切り替えました。 このエラーをキャッチしたい場合は、その方法を試してください。特定のエラーをキャッチして、レスキュー部分で何らかのアクションを取ることができます。

begin 
rescue 
end 

私がドキュメントを見て、キャッチする必要があるものがわかるようにしたい場合は、

+0

ああ、ありがとうございます。私はrescue_fromを使用しようとしていましたが、失敗していました。私はなぜ突然のエラーが起こっているのか分かりません。最近2日前と同じように動作していましたが、別のアプリケーションでエラーなしで非常に似たコードを使用することができます...私が使ったことを使って質問を編集します – aperture

+0

問題はありません。 。 –