Tengo una app que desde mi portal web puedo sincronizar e interactuar con ella, vaya, publicar tanto en el perfil de los usuarios y tambien publicar en los perfiles como si fuese el mismo usuario (usando la token).
El detalle es que quiero hacer unas tareas diarias en "Mis Grupos" de Facebook (usando mi propio perfil), el detalle es que estas tareas son ejecutadas por CRON, invocando mi archivo PHP que tiene toda la logica.
Hice primero pruebas desde la web y todo va bien, los mensajes se publican, pero a la hora de hacer la invocacion con cron es cuando falla, ya que al hacerse la llamada del API Facebook() esta crea una sesion y obviamente desde linea de comando no existe la sesion, vaya no puedeo crearse.
La ejecucion de cron va asi:
Código:
php cron.php usuario clave opcion
Y el error que me da es:
Código:
PHP Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/html/cron.php:3) in /var/www/html/cron/libfacebook.php on line 37
PHP Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/cron.php:3) in /var/www/html/cron/libfacebook.php on line 37
PHP Fatal error: Uncaught OAuthException: (#200) The user hasn't authorized the application to perform this action
thrown in /var/www/html/cron/base_facebook.php on line 993
Desmenuzando los errores saco mis conclusiones:
PHP Warning: session_start().... este error lo da porque desde linea de comando no se puede usar sessiones, ni la funcion session_start(). Solo puedes crear variables (como cualquier programa en C..... eso creo yo).
PHP Fatal error: Uncaught OAuthException:.... al no existir la session, pues el API no puede continuar.
El detalle tambien es que vi que la APP puede configurarse para uso "Web" o "Desktop/Native", nose que ventajas o desventajas me traiga, pero lo he dejado en "Web", ya que mis usuarios se sincronizan por via "Web" y estas tareas que quiero hacer son punto y aparte, pero aun asi, uso la misma APP (asi lo requiero).
Saludos !