Ko je Twitter s 1.9.2010 ukinil basic avtentikacijo za pošiljanje čivkov, je po nekaterih govoricah nehalo čivkati kar okoli 35.000 aplikacij.
Od zdaj naprej se čivka le še s pomočjo OAuth načina avtentikacije, ki pa je kar dosti težji način od prejšnjega. Pri prejšnjem si namreč potreboval kake štiri vrstice programske kode, no, pri OAuth jih potrebuješ mnogo več.
Res je, da že obstaja ogromno knjižnic za skoraj vse programske jezike in da načeloma zadeva ne bi smela biti preveč komplicirana.
Pa je. In tudi skoraj še ne pomeni vseh jezikov, kaj šele skript in podobnega vmesnega šavja!
Klienti so seveda nekaj povsem drugega, potrebujejo polno delovanje, čisto druga pesem pa so bot-i, programi, ki avtomatsko pošiljajo stanja na Twitter. Teh zna biti kar precej, pravzaprav ogromno. So taki, ki pošiljajo direktna sporočila, so taki, ki odgovarjajo in so taki, ki pošiljajo informacije, naprimer TowerBridge. In kakor zgleda, je tudi on prenehal pošiljati informacije.
Mene se to pravzaprav tiče zaradi geoStik-a, ki pošilja informacije o vremenu, prometu, pajku, potresih in bogvečemu se bom še spomnil. Tudi ta je 1.9 crknil. Seveda smo bili o prehodu vsi obveščeni že mnogo prej, a kakor je navada povsod po svetu, je treba čakati do zadnjega dne. Sprememba namreč sploh ni lahka ali enostavna, potrebno se je kar poglobiti in razumeti nov način avtentikacije, kar ni prav lahko in povsem jasno je, da se vse skupaj prestavlja do takrat, ko teče voda v grlo.
Ker pa se sam nimam za programerja in zelo rad delam stvari na hitro, je moja izbira že od nekdaj vbscript. In to kar lepo v Windows Script Hostu. Povsod deluje in to brez česarkoli. Vse, kar potrebujem, je Notepad++, na katerega sem prešaltal po parih letih Notepad-a. Hja. Kar zna biti včasih super, enkratno in sploh in oh, včasih pa precej zoprno. Naprimer takrat, ko hočeš najti kako twitter knjižnico, ki bi podpirala COM, COM+ ali kaj podobnega. Najbližja je za VB .NET, ki pa se noče registrirat v sistemu, čeprav lahko včasih v sistemu registriraš tudi mokro cunjo. Ampak tega pa ne! In zato nimaš z njo kaj počet. No, resnici na kljubo - našel sem res eno knjižnico za Com+ ali .NET. Za 130$. Japajade, malce drago samo za pošiljanje statusa.
Najbližje je prišel Scott DeSapio s svojo aplikacijo za povsem klasični ASP. Oh, tole smo pa že zelo blizu, sem si rekel!
Pa niti ni bilo tako blizu. Zadeva je namreč malo mešana, vbscript in javascript, narejena pa je za celotni OAuth protokol. Kar je sicer dobro, je pa tudi mnogo preveč za vse tisto, kar bi jaz sam potreboval. Za bot potrebuješ le Single Access Token in je. Torej je večina kode odveč. Vprašanje seveda ostaja: katere kode?
Kakorkoli že, na koncu sem vse zmetal na kup, zbrisal tisto, kar mi ni bilo všeč, popravil nekatere objekte, ki jih seveda v WSHju ni in nastalo je nekaj, kar v bistvu deluje.
Skripta ni mišljena kot odprava vseh težav tega sveta, mišljena je le kot spodbuda nekomu, ki ima voljo in čas, da iz tega naprej naredi skripto, ki bo dostojna tudi za kakšnega programerja. Ko sem iskal vbscript zadevo, sem našel le tisoče oglasov za pre-programiranje bot-ov, programov in različnih aplikacij na OAuth! Načeloma bi moralo biti povpraševanje po čem takem veliko.
Seveda pa je treba najprej registrirat svojo aplikacijo v Twitterju. Dobit vse kode s Single Access Token, lahko pa se uporabi tudi activexpertsovo knjižnico le za OAuth avtorizacijo, da dobiš vse kode. Potem pa še vpisat vse te kode in to je to.
Kdor misli, da je eksplicitno naslavljanje spremenljivk pomembna zadeva, naj raje zamiži in gre naprej. Prav tako tisti, ki sploh kdaj pomisli na stavek Option Explicit. Vsi taki naj raje uporabijo supertweet.net, ki je pravzaprav enkratna zadeva, ravno prav za vse lene, počasne, nemarne, tiste brez časa, tiste brez volje itd.
Wsf končnica je zato, ker je zadeva jezikovno mešana - vbscript in javascript, ki bi se moral izvajat v asp-ju na strežniku, se tukaj izvaja seveda na klientu. Scott-u se ni dalo preprogramirati javascript podpisovalnih funkcij v vbscript. Komu pa bi se, poleg tega tudi ni imel kakšne velike potrebe po tem.
Twitter bot with OAuth in Windows Scripting Host download.
Vse zahvale seveda gredo seveda prvi implementaciji - Scott DeSapio.