我正在使用 Rails 3.2.5 和 Koala 1.3.0(不是最新的,因为最新的甚至拒绝运行 Heroku 的示例 Facebook 应用程序)。 Web 服务器是 Unicorn。
当我尝试使用 put_connections() 发布到时间线时:
@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"
控制器在收到异常之前停滞 12 秒:
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}}):
我用调试工具测试过:http://developers.facebook.com/tools/debug http://developers.facebook.com/tools/debug并且发现第 2 行中记录的 URL 没有错误。
我的网络服务器记录来自 Facebook IP 的 GET 并返回 200 OK。然后 Facebook IP 发出更多请求来获取图像,也得到 200 OK。
我正在对我的应用程序的测试用户进行测试,仅供参考。
UPDATE
这似乎是一个 OpenGraph 问题。这个问题为我重现:https://developers.facebook.com/bugs/213733412077729 https://developers.facebook.com/bugs/213733412077729
基本上只有在调试器上测试一次后POST才成功!以前有人经历过这个吗?