Estoy usando Rails 3.2.5 y Koala 1.3.0 (no el último, porque el último se niega a ejecutar incluso la aplicación de Facebook de muestra de Heroku). El servidor web es Unicornio.put_connections() al gráfico de Facebook en Koala falla después de un retraso muy largo
Cuando intento para publicar en línea de tiempo mediante 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"
los puestos de controlador para 12s antes de conseguir una excepción:
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}}):
Probé con la herramienta de depuración: http://developers.facebook.com/tools/debug y no encontró ningún error para la URL registrada en la línea 2.
Mi servidor web registra un GET desde Facebook IP y devuelve 200 OK . Facebook IP luego hace algunas solicitudes más para recuperar imágenes, que también obtiene 200 OK.
Estoy probando esto en los usuarios de la prueba de mi aplicación, para su información.
ACTUALIZACIÓN
Esto parece ser un problema OpenGraph. Este problema se reproduce para mí: https://developers.facebook.com/bugs/213733412077729
Básicamente, el POST solo tiene éxito después de que lo haya probado en el depurador una vez. Alguien experimentado esto antes?
Gracias, esto me dio la pista que necesitaba para arreglar mi problema también. Creo que la causa principal es que hacer llamadas de servicio externo síncronas en tu controlador es 'malo'. La arquitectura 'técnicamente más correcta' es hacer que su acción envíe algún tipo de trabajo en segundo plano (trabajo retrasado, resque, etc.) y no bloquear su controlador. –