[Actualizado a 27/07/10: Hay un sistema mucho más sencillo para enganchar cualquier RSS a una página oficial de Facebook. Está explicado en este post sobre la aplicación RSS Graffiti.]

Facebook se ha preocupado en los últimos meses en copiar distintos servicios de éxito de Twitter: la sensación de real-time web en la actualización constante del muro, la posibilidad de nombrar a amigos poniendo la @ antes de un nombre… Y no disimula su intento de apropiarse del contenido de los usuarios con iniciativas como invitar a sus usuarios a conectar la cuenta de Facebook hacia Twitter, de modo que la gente “ya no se pase por Twitter”.

Pero en su afán de absorción radical del tráfico, ese proceso tiene inconvenientes:

  • Los textos que se escriben en Facebook pueden ser más largos de 140 caracteres. Esto lo resuelve con puntos suspensivos, pero no es que sea muy elegante.
  • Si colgamos un enlace en Facebook, este aparecerá en Twitter pero realmente llevará al usuario a Facebook, al lugar donde quedan almacenados los enlaces que colgamos, y no al destino final. Y esto me parece inasumible.

De modo que me parece más viable, en caso de necesidad, tratar de enlazar la cuenta de Twitter hacia Facebook. Hacerlo a un perfil personal es muy sencillo: el propio Twitter te lo resuelve en Settings. Pero pasar los tweets a una página oficial es más lioso… sobre todo, hacerlo bien.

La solución más sencilla es utilizar Twitterfeed para que envíe los tweets a Ping.fm, que tiene una aplicación para pasar un RSS cualquiera a una página oficial de Facebook. El problema, en el caso de Twitter, es que el RSS incluye el nombre del usuario, de modo que al sumar el que también incluye Facebook quedaría bastante redundante:

Mipágina MiTwitter: Mitexto de lo que sea…

De modo que, para evitar esa redundancia, el sistema es un poco más complejo, pero efectivo. Implica hacer un paso intermedio a través de Yahoo Pipes, un servicio que permite editar de forma más detallista lo que se hace con los RSS.

Paso a detallar el proceso, recogido en gran medida en el trabajo de traducción de Breixo Mariño, el gestor de Moviles Dual Sim, de las explicaciones originales en inglés de Tony Faria en este amplio hilo de Facebook.

Ingredientes:

Receta:

1. Yahoo Pipes: esto es opcional y es, con diferencia, lo más complicado, de modo que si no eres muy escrupuloso… quizá puedas saltártelo. Pero lo cierto es que evitar esa repetición del nombre en Facebook es bastante interesante. Para hacerlo:

1.1. Loguearse o registrarse (se necesita un usuario de Yahoo, es posible que tengas que crearte un correo @yahoo.com, o una OpenID…).

1.2.  Hay que crear un pipe, una norma de actuación para un RSS. Lo más sencillo es que busques uno ya creado y lo clones. Puedes usar el que hice de prueba con Banqueando. Pulsa en el título y presiona en “Clone”. Esto te dará una copia del Pipe para que lo puedas editar.

1.3. Ve a My Pipes y edítalo (Edit Source) con tus datos:

1.3.1. Renombra el pipe. Para editarlo, haz click en el nombre el la parte superior del dashboard. Renombra el Pipe y pulsa OK.

1.3.2.  Fetch Feed: Cambia la URL, poniendo la dirección del RSS de tu Twitter. La obtendrás en tu perfil de Twitter, en la columna derecha, donde pone RSS feed of tunombre’s tweets. La de Banqueando, por ejemplo, es: http://twitter.com/statuses/user_timeline/19530366.rss

[Actualización 30/01/12: Ahora el RSS de una cuenta de Twitter se consigue con la siguiente estructura: http://twitter.com/statuses/user_timeline/USUARIO.rss. Gracias a Malina por el dato!]

1.3.3. Filter: aquí mi consejo es que lo dejéis como está: de este modo no pasará a Facebook las respuestas o Retweets ni las Mailing Lists.

1.3.4. Regex: Para esto es para lo que estamos haciendo todo este lío. Queremos filtrar nuestro nombre de usuario, para que no se repita. Donde pone “^Banqueando:”, escribe el nombre de tu usuario. Asegúrate de mantener el símbolo ^ en “^tuusuario:” y ten cuidado con las mayúsculas, si tu usuario las tiene.

1.3.5. Pipe Output: Clica ahí para comprobar que todo funciona. Si es así, verás los resultados en la parte inferior: un feed de Twitter sin tu nombre de usuario.

1.3.6. Dale a guardar (Save) y ponlo en marcha (Run pipe). Estas órdenes están en el menú superior.

1.4. De Yahoo Pipes debes conseguir una URL para pasar a Twitterfeed. La consigues clicando en Get as RSS. Deberías tener una URL del estilo: http://pipes.yahoo.com/pipes/pipe.run?_id=xxxxxxxxxxxxxxxxxxxxxxx&_render=rss

2. Twitterfeed: Este paso ya es necesario, hagas o no lo anterior. Aquí debes crear una norma que envíe el RSS de tu Twitter a Ping.fm para desde ahí lanzarlo a la página oficial de Facebook. Si no has hecho lo anterior, coge el feed directo de tu cuenta de Twitter. Si te has currado lo de Yahoo Pipes, usa su URL.

2.1. Create feed: En el primer paso le pones un nombre de tu elección al Feed y pegas la URL (del Yahoo Pipes o en su defecto de Twitter). En Advanced Settings tienes más opciones, no relevantes para lo que estamos haciendo.

2.2. Configure Publishing Services: Aquí hay que escoger Ping.fm. No os dejéis engañar porque ponga Facebook, pues desde ahí lo enviará sólo al perfil personal, no a una página. Y para acabar este paso, deberás antes completar el punto 3, pues necesitas una API Key de Ping.fm.

3. Ping.fm: es el único servicio que, por el momento y que sepa, permite enviar con éxito RSS a páginas oficiales Facebook.

3.1.  Tras iniciar sesión, en la columna izquierda, clica en Add Network. Hay que seleccionar Facebook Pages (ojo, NO “Facebook” a secas). Facebook Connect te conectará con tu cuenta de Facebook utilizando tu usuario y contraseña habitual.  Te aconsejo que uses en Facebook el mismo correo electrónico que en Ping.fm. A mí me dio problemillas y sospecho que fue por tratar de enlazar Ping.fm a una cuenta de Facebook con otro correo… y no lo llegó a entender. Al final, acabé limpiando cookies y resolviendo en Internet Explorer. Quiero pensar que no tendrá nada que ver el Firefox sino más bien con alguna configuración chusca mía, pero si alguno tiene problemas… queda dicho: yo lo acabé logrando en Explorer, :).

3.2. El caso es que cuando el Facebook Connect funcione te preguntará a qué perfil o página quieres lanzar los RSS. Escoge la correcta y deselecciona el perfil. Y dale a guardar. En teoría, ya estamos: Ping.fm llega a Facebook. Sólo falta unir Twitterfeed con Ping.fm.

3.3. Ahora necesitas una API Key para acabar el proceso en Twitterfeed. La encontrarás en esta dirección.

4. Twitterfeed: vuelve aquí,  pega la API Key de Ping.fm. Te preguntará tipo de actualización. Selecciona Microblog. Dale a Guardar… ¡y listo!

Sólo queda probar un tweet en Twitter para ver si realmente llega a Facebook. Eso sí, ten en cuenta que en Twitterfeed se puede configurar cada cuánto tiempo  revisa el Twitter para lanzarlo a Ping.fm. Será, como muy pronto, cada media ahora… así que… paciencia.