Twitter, publicar desde el servidor
Antes esto de publicar en Twitter era mucho más sencillo, pero hace unas semanas metieron el nuevo sistema OAUTH, no lo tengo claro del todo pero creo que esto no se salta ninguna de las condiciones de Twitter.
Lo primero es dar de alta una aplicación en la zona de desarrolladores. No olvides indicar que es de tipo “Cliente”, con acceso a lectura y escritura:
Basándonos en el código de ejemplo que podemos encontrar en github:
Seguimos los pasos siguientes siendo consumer_key y consumer_secret las variables que nos da Twitter en los detalles de la aplicación recién creada.
# Estas dos variables se sacan de: oauth = Twitter::OAuth.new(consumer_key, consumer_secret) rtoken = oauth.request_token.token rsecret = oauth.request_token.secret # Si peta esta parte es porqe ya usaste el token, repite los pasos %x(open #{oauth.request_token.authorize_url}) # Copiamos el pin que nos dice la web pin = '1234' oauth.authorize_from_request(rtoken, rsecret, pin)
El último paso nos devolverá un array, el primer elemento es el auth_twitter_token y el segundo auth_twitter_secret
Ahora para poder publicar en Twitter solo tendremos que hacer algo así:
require 'twitter' oauth = Twitter::OAuth.new(APP_CONFIG[:twitter_token], APP_CONFIG[:twitter_secret]) oauth.authorize_from_access(APP_CONFIG[:auth_twitter_token], APP_CONFIG[:auth_twitter_secret]) client = Twitter::Base.new(oauth) client.update("Publicando en Twitter!! #{Time.now}")
APP_CONFIG no es más que una constante que debemos tener declarada en algún sitio con los datos que obtuvimos en el proceso anterior, este se puede hacer a mano una sola vez.