2011-06-04 78 views
0

就在今天,我發現我的fbgraph實現已經開始返回一個導致內部服務器錯誤的400錯誤請求錯誤。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 

我如何調用我的看法是@fbname我已經收到了200個狀態之前檢查?

謝謝。

更新:以下德文M的建議,我已經關掉了上述行動,

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錯誤的請求。嘗試一步一步做,並添加適當的檢查,當你找到哪個返回400 – corroded 2011-06-04 04:12:05

+0

@腐蝕 - 謝謝。看起來api可能已經改變了。我仍然可以訪問該用戶,但試圖訪問該用戶的Feed會導致400錯誤 – aperture 2011-06-04 04:23:31

回答

1

我認爲你應該寫一些這方面的測試中,它很難與API的Facebook的噩夢工作。 雖然如果你想抓住這個錯誤,嘗試使用這種方式,你可以捕捉到具體的錯誤,並在救援部分採取一些行動。

begin 
rescue 
end 

如果你想讓我看看文檔,看看你應該讓我知道。

+0

啊,謝謝,這是有效的。我試圖使用rescue_from,但那是失敗的。我不知道爲什麼突然出現錯誤。它最近在2天前工作,而另一個應用程序可以使用非常類似的代碼,現在沒有錯誤...我將使用我所用的編輯器編輯我的問題 – aperture 2011-06-04 04:50:24

+0

沒問題,Facebook很難編程。 – 2011-06-04 04:52:17