Aggiornare twitter da riga di comando con OAuth
Salve a tutti,
come forse già saprete, twitter ha interotto l”autenticazione di tipo basic, per cui adesso è obbligatorio utilizzare OAuth.
Per chi come usava (anche) un tool da riga di comando per aggiornare twitter (io usavo curl) questo può essere un problema.
Di seguito vedremo come utilizzare un programma python per raggiungere il nostro scopo.
Prima di tutto occorre scaricare ed installare il seguente software http://github.com/joshthecoder/tweepy, qui ci sono le istruzioni: http://github.com/joshthecoder/tweepy/blob/master/INSTALL
Proseguiamo con il registrare la nostra applicazione da qui: http://twitter.com/oauth_clients riempiendo i vari campi, scegliendo il nome che preferiamo per la nostra applicazione. Alla fine del processo di registrazione, ci verranno assegnati i seguenti valori (che ci serviranno di seguito):
- consumer key
- consumer secret
Adesso dobbiamo autorizzare la nostra applicazione, creiamo un file autorizza.py con il seguente contenuto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/env python import tweepy CONSUMER_KEY = 'paste your Consumer Key here' CONSUMER_SECRET = 'paste your Consumer Secret here' auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth_url = auth.get_authorization_url() print 'Please authorize: ' + auth_url verifier = raw_input('PIN: ').strip() auth.get_access_token(verifier) print "ACCESS_KEY = '%s'" % auth.access_token.key print "ACCESS_SECRET = '%s'" % auth.access_token.secret |
Rendiamo lo script eseguibile (chmod +x) e lanciamolo. Verrà mostrato un URL, al quale dovremmo accedere e confermare (Allow) la connessione a twitter da parte della nostra applicazione. Dopo la conferma ci verrà fornito (da twitter) un codice PIN, che dovviamo inserire nello script che abbiamo appena laciato (autorizza.py). Al termine di questa procedura, ci verranno fornito due valori che dobbiamo segnarci (ci serviranno in seguito):
- ACCESS_KEY
- ACCESS_SECRET
Ci siamo! Creiamo adesso il nostro update_twitter.py, con il seguente contenuto (dobbiamo riempire i campi con i valori sopra ottenuti):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/env python import sys import tweepy CONSUMER_KEY = 'paste your Consumer Key here' CONSUMER_SECRET = 'paste your Consumer Secret here' ACCESS_KEY = 'paste your Access Key here' ACCESS_SECRET = 'paste your Access Secret here' auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) api = tweepy.API(auth) api.update_status(sys.argv[1]) |
Finalmente possiamo aggiornare il nostro status!
$ ./update_twitter.py "Salve a tutti, dal mio programma da riga di comando"
Se qualche passaggio non vi è chiaro scrivetemi pure un commento. Ciao, alla prossima.

