No me preguntéis los motivos, pero llevaba un tiempo pensando en buscar alguna aplicación que permitiera publicar en twitter mandando un e-mail a una dirección de correo electrónico. Encontré más de un servicio pero en su mayoría habían desaparecido o el funcionamiento no era exactamente lo que yo esperaba. El proceso es simple, necesitamos:
- Hosting propio. Con cuenta de e-mail y opciones de Cron (optativo).
- Cuenta en twitter como developer. (Para crear una App).
- PHP en nuestro hosting (1 solo archivo + librería Oauth).
- Comenzaremos creando una cuenta de correo. Por ejemplo: publicatwitter@hosting.com.
- Un directorio con un archivo PHP en nuestro hosting. Por ejemplo: /mail2tweet/publica.php.
- Creamos una aplicación en twitter en la que indicaremos la url completa al archivo PHP, indicaremos que es una aplicación de lectura y escritura (READ/WRITE) y obtendremos los datos: Consumer_key, Consumer_secret, Access_token y Access_token_secret, estos últimos hay que generarlos desde una de las opciones de configuración de la aplicación. Utilizaremos la librería tOAuth.class.php la podeís encontrar aquí.
- Ahora vamos con el php. Podéis descargar el ejemplo aquí.
- Finalmente si tenemos opción a Cron en nuestro hosting programamos una tarea sobre este archivo PHP cada hora por ejemplo. Si no tenemos Cron sería suficiente con visitar la URL anterior para ejecutar todo el proceso.
Hay un par de detalles que debo comentar. El primero es que para poder identificar claramente los correos que deben ser publicados en twitter en el archivo PHP incluimos una clave para que solo nosotros podamos publicar cosas en nuestro twitter… ¿No queremos spam de viagra verdad?. Lo segundo… No me he querido complicar demasiado con la gestión de IMAP y las partes del correo por lo que he introducido en el texto de los correos unas cadenas de inicio y de fin de mensaje para poder identificarlo facilmente. Un ejemplo de envío sería:
To: publicatwitter@hosting.com
Subject: clavesupersecreta
texto: ***Publica esto***
Ni que decir tiene que no he querido profundizar más en el tema, funciona, que es lo que yo quería. Espero que esto pueda serviros como base a cosas mayores ya que creo ofrece muchas posibilidades.
Con esto instalamos en Linux Apache Mysql y Php (LAMP), un paquete todo en uno.
Es muy sencillo, solo es necesario:
egarcia@egarcia:~$sudo apt-get install lamp-server^
Con esta línea (importante el carácter ^ al final) instala todos los paquetes necesarios.
Go es el nuevo lenguaje de programación que viene de la mano de Google, el Dios Google, al que pronto deberemos adorar y temer. Se trata de un lenguaje, según comentan, con la potencia de C la velocidad de Phyton y sobre todo… OPENSOURCE, algo muy a tener en cuenta sobre todo teniendo detrás el nombre de GOOGLE.
Yo mientras escribo esto estoy instalándolo todas las herramientas necesarias para empezar a trastearlo un poco, he seguido el siguiente How to de Mundogeek para Ubuntu y también he mirado en la página de Go, http://golang.org/ .
Una vez instalado todo lo necesario podemos proceder a realizar nuestra primera prueba, el mítico “Hola Mundo”.
egarcia@egarcia:~$ sudo gedit hola.go
package main
import "fmt"
func main() {
fmt.Printf("Hola mundo\n");
}
egarcia@egarcia:~$ 8g hola.go
egarcia@egarcia:~$ 8l hola.8
egarcia@egarcia:~$ ./8.out
Hola mundo
egarcia@egarcia:~$
Y acabo de hacer mi primer Hola mundo en Go
.