我使用Rails 3.2.5和考拉1.3.0(不是最新的,因为最新拒绝运行,甚至从Heroku的示例Facebook应用程序)。 Web服务器是Unicorn。put_connections()到考拉的Facebook图失败后很长的延迟
当我尝试发布使用put_connections(),以时间线:
Completed 500 Internal Server Error in 12075ms
Koala::Facebook::APIError (HTTP 500: Response body: {"error":{"type":"Exception","message":"Could not retrieve data from URL.","code":1660002}}):
我与调试工具测试:
@fbgraph = Koala::Facebook::API.new(session[:access_token])
logger.debug "put_connections(#{url_for @room}), start"
@fbgraph.put_connections("me", "myapp:view", :room => url_for(@room))
logger.debug "put_connections(), end"
控制器摊位12S得到一个异常之前http://developers.facebook.com/tools/debug 和它发现第2行记录的URL没有错误。
我的web服务器从Facebook IP记录GET并返回200 OK 。 Facebook IP会提出一些更多的请求来获取图像,这也得到了200 OK。
我正在测试此应用程序的测试用户供参考。
UPDATE
这似乎是一个OpenGraph问题。这个问题重现了我:https://developers.facebook.com/bugs/213733412077729
基本上,POST是成功的,只有我在调试器上测试一次后!任何人都经历过这个?
谢谢,这给了我,我需要太多解决我的问题的线索。我认为根本原因是在你的控制器中进行同步外部服务调用是'不好的'。 “技术上更加正确”的架构是让你的行为提交某种背景工作(延迟工作,重新署名等),而不是阻止你的控制器。 –