我正在使用 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 ,它发现第 2 行中记录的 URL 没有错误。
我的网络服务器记录来自 Facebook IP 的 GET 并返回 200 OK。然后 Facebook IP 发出更多请求以获取图像,这也获得了 200 OK。
我正在对我的应用程序的测试用户进行测试,仅供参考。
更新
这似乎是一个 OpenGraph 问题。这个问题为我重现:https ://developers.facebook.com/bugs/213733412077729
基本上,只有在我在调试器上测试一次之后,POST 才能成功!以前有人经历过吗?