Cuaderno de Campo

No sé que es lo que han cambiado en el formulario de Facebook, lo he estado mirando y juraría que el formulario es idéntico, pero el caso es que la semana pasada dejó de funcionar, así es que rehice el script de nuevo, lo he dejado algo más clarito y vuelve a estar funcional.
#!/bin/bash
#cambia esto
email="tu_email_de_usuario_en_facebook"
pass="tu_contraseña_en_facebook"
#a partir de aquí no es necesario cambiar nada más
texto=$1
if [ -z "$texto" ]; then echo -e "Uso:\n$0 \"texto a publicar\"\n\n"; exit 1 ;fi
texto=${texto:0:140}
cokkies="~/.cookies.txt"
user_agent="Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; es-ES)"
#nos logeamos y cogemos la url de la página redirigida
pagina=`curl -L --silent --keepalive-time 5 --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" -d "email=$email" -d "pass=$pass" -d "login=Entrar" https://m.facebook.com/login.php`
pagina_redirige=`echo $pagina | sed -r 's/.*href="(http:.*;manual_redirect=1)".*/\1/g'`
#conectamos con la nueva página y leemos los datos que contiene su formulario para postear a facebook
pagina_con_formulario=`curl -L --silent --user-agent "${user_agent}" --cookie "${cokkies}" --cookie-jar "${cokkies}" "$pagina_redirige"`
url_action=`echo $pagina_con_formulario | sed -r 's/.*fbb=(.*&.*refid=.?)".*/\1/'`
post_form_id=`echo -n $pagina_con_formulario | sed -r 's/.*name="post_form_id" value="([^"]*)".*/\1/g'`
fb_dtsg=`echo -n $pagina_con_formulario | sed -r 's/.*name="fb_dtsg" value="([^"]*)".*/\1/g'`
url_action_completo="http://m.facebook.com/a/home.php?fbb=$direccionForm"
#ya tenemos los datos con los que componer el query final a Facebook, enviamos el mensaje
curl -X POST --user-agent "$user_agent" --cookie "$cokkies" --cookie-jar "$cokkies" --data-urlencode "status='$texto'" -d "update=Compartir" -d "post_form_id=$post_form_id" -d "fb_dtsg=$fb_dtsg" "$url_action_completo"
exit

Para evitar errores con el código he puesto el script en un archivo TXT que podeis descargar aquí.

Simplemente copiad el contenido en un archivo ~/bin/mensaje2facebook.sh, editadlo y poned vuestro email y contraseña, hacedlo ejecutable (chmod +x ~/bin/mensaje2facebook.sh) y para escribir en Facebook haceis mensaje2facebook.sh "hola mundo"
  1. alexis, 26 de mayo, 2012No funciona el script :S
  2. Trebol-a, 31 de mayo, 2012Lo sé, hicieron cambios en Facebook y dejó de funcionar. Como vinculé Twitter y Facebook este script dejó de tener sentido.
El formulario para dejar en este apunte ya fué cerrado. Se cierran automáticamente después de dos años de la publicación.
Gracias por tu interés.

© Cuaderno de campo es un blog personal mantenido y desarrollado por Trebol-a y en el que participan Trebol-a, Miguel, Mónica y Merche.

Todo el material de textos, fotografías y vídeos aquí publicado (y salvo que se exprese lo contrario) se hace bajo licencia Creative Commons, para cualquier duda o aclaración puedes dirigirte a Trebol-a por correo electrónico.