Twurl es como curl, pero diseñado específicamente para la API de Twitter. Sabe cómo otorgar un token de acceso a una aplicación cliente para un usuario específico y luego firmar todas las solicitudes con ese token de acceso.
También proporciona otras comodidades de desarrollo y depuración, como la definición de alias para solicitudes comunes, así como soporte para múltiples tokens de acceso para cambiar fácilmente entre diferentes aplicaciones cliente y cuentas de Twitter.
Twurl se puede instalar usando RubyGems:
gem install twurl
Si aún no lo has hecho, lo primero que debes hacer es solicitar una cuenta de desarrollador para acceder a las API de Twitter:
https://developer.twitter.com/en/apply-for-access
Una vez que tenga ese acceso, podrá crear una aplicación de Twitter y generar una clave y un secreto de consumidor.
Cuando tenga su clave de consumidor y su secreto, autoriza a su cuenta de Twitter a realizar solicitudes de API con esa clave de consumidor y ese secreto.
twurl authorize --consumer-key key
--consumer-secret secret
Esto devolverá una URL que deberá abrir en su navegador. Autentíquese en Twitter y luego ingrese el PIN devuelto nuevamente en la terminal. Suponiendo que todo funcione bien, estará autorizado a realizar solicitudes con la API. Twurl te lo dirá.
La solicitud más simple solo requiere que especifique la ruta que desea solicitar.
twurl /1.1/statuses/home_timeline.json
De forma similar a curl, se realiza una solicitud GET de forma predeterminada.
Puede realizar implícitamente una solicitud POST pasando la opción -d, que especifica los parámetros POST.
twurl -d ' status=Testing twurl ' /1.1/statuses/update.json
Puede especificar explícitamente qué método de solicitud realizar con la opción -X (o --request-method).
twurl -X POST /1.1/statuses/destroy/1234567890.json
Puede generar un token de portador usando la opción --bearer
en combinación con el subcomando authorize
.
twurl authorize --bearer --consumer-key key
--consumer-secret secret
Y luego, puede realizar una solicitud utilizando un token de portador generado usando la opción de solicitud --bearer
.
twurl --bearer ' /1.1/search/tweets.json?q=hello '
Para enumerar sus tokens de portador generados, puede utilizar el subcomando bearer_tokens
.
twurl bearer_tokens
Esto imprimirá un par de consumer_key y su token de portador asociado. Tenga en cuenta que los tokens se omiten en este resultado.
Puede acceder a diferentes hosts para otras API de Twitter utilizando el indicador -H.
twurl -H " ads-api.twitter.com " " /7/accounts "
Para cargar archivos binarios, puede formatear la llamada como una publicación de formulario. A continuación, el binario es "/path/to/media.jpg" y el campo del formulario es "media":
twurl -H " upload.twitter.com " -X POST " /1.1/media/upload.json " --file " /path/to/media.jpg " --file-field " media "
twurl alias h /1.1/statuses/home_timeline.json
Luego puede utilizar "h" en lugar de la ruta completa.
twurl h
Las rutas que requieren opciones adicionales (como parámetros de solicitud, por ejemplo) se pueden usar con alias de la misma manera que con rutas completamente explícitas, tal como es de esperar.
twurl alias tweet /1.1/statuses/update.json
twurl tweet -d " status=Aliases in twurl are convenient "
La primera vez que autoriza a una aplicación cliente a realizar solicitudes en nombre de su cuenta, twurl almacena la información de su token de acceso en su archivo ~/.twurlrc
. Las solicitudes posteriores utilizarán este perfil como perfil predeterminado. Puede utilizar el subcomando accounts
para ver qué aplicaciones cliente han sido autorizadas para qué nombres de usuario:
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA (default)
testiverse
guT9RsJbNQgVe6AwoY9BA
Observe que una de esas claves de consumidor está marcada como predeterminada. Para cambiar el valor predeterminado, utilice el subcomando set
y pase solo el nombre de usuario, si no es ambiguo, o el par de claves de usuario y consumidor si no es ambiguo:
twurl set default testiverse
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA (default)
twurl set default noradio HQsAGcBm5MQT4n6j7qVJw
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw (default)
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA
Si bien cambiar el perfil predeterminado le permite seleccionar qué token de acceso (OAuth1.0a) usar, los tokens de portador no se vinculan a ningún perfil de usuario ya que la autenticación solo de aplicación no requiere contexto de usuario. Es decir, puede realizar una solicitud solo de aplicación independientemente de su perfil predeterminado si especifica la opción -c
( --consumer-key
) una vez que genera un token de portador con esta clave de consumidor. De forma predeterminada, twurl lee la clave de consumidor del perfil actual y su token de portador asociado del archivo ~/.twurlrc
.
Marcel Molina / @noradio
Erik Michaels-Ober / @sferik
¡y hay muchos más!