Mi se întâmplă des să am nevoie în diverse script-uri să postez update-uri publice pe Twitter, sau să trimit mesaje directe. Foloseam pentru asta API-ul public Twitter și autentificarea basic, ceea ce-mi permitea să scriu o singură comandă:
curl -u $USER:$PASS -d "status=$MESS" http://twitter.com/statuses/update.xml
Poezie! Mergea atât de bine încât am abuzat de comenzile respective prin multe locuri. Așa că înțelegeți bucuria mea aseară când am constatat că nici un mesaj nu a ajuns pe Twitter, în schimb am găsit așa ceva prin log-uri:
Basic authentication is not supported
Am avut o reacție uimitor de decentă, pentru că a fost și vina mea, știam de ceva timp că OAuth o să devină obligatoriu pentru Twitter.
După ce am mai citit un pic despre OAuth și m-am îngrozit, am ales, ca orice IT-ist responsabil, să ignor problema până dimineață, o noapte de codat OAuth în bash sau săpat după biblioteci Perl sau Python care să facă asta nesurâzându-mi prea tare.
Lenea mea nu a rămas nerăsplătită, de dimineață mușchiul Google s-a încordat foarte bine și am dat peste următorul serviciu: SuperTweet.net. Citez de pe situl lor:
The SuperTweet.net API provides a means to take advantage of Twitter’s OAuth authentication technology without the cost and complexity of OAuth in your simple tweeting applications.
Adică te poți conecta la SupetTweet.net cu curl și autentificare basic, iar SuperTweet adaugă OAuth și discută direct cu Twitter pe limba lui.
Super rapid, după ce am autorizat SuperTweet să acceseze contul meu de Twitter și mi-am ales o parolă pentru autentificarea basic dintre script-ul meu și SuperTweet (documentație), am putut să public mesaje spre Twitter modificând minimal comanda curl:
curl -u $USER:$PASS -d "status=$MESS" http://api.supertweet.net/1/statuses/update.xml
În mod asemănător am făcut și pentru mesajele private. 10 minute de grepping și editare prin toate script-urile și am rezolvat problema. Drept urmare, am scris acest post, dacă ai script-uri pentru Twitter, verifică-le și modifică-le în caz că nu mai merg!
Image credit: David Masters.
Related posts:






