A while back I posted an article showing how to Tweet via Twitter‘s API. It uses basic authentication which Twitter plan to turn off in the near future. The alternative, oAuth is awkward for desktop based apps, but xAuth is now available and should be doable in Macro Scheduler. I have requested xAuth access from Twitter and, assuming it’s doable, will try and provide an example once I’ve received it and tried it out.
In the mean time it occurred to me that we don’t really need an API if all we want to do is send a status update. We can do that easily using Macro Scheduler and WebRecorder functions by controlling an instance of Internet Explorer, which can be done in the background.
Below is a script which demonstrates this. It offers a function called LoginToTwitter which need only be called once per session, and an UpdateStatus function to update your status. Just set your Twitter username and password in the first two lines and you should be all set.
Let>TW_USERNAME=XXXXX Let>TW_PASSWORD=XXXXX //only need do this once per session GoSub>LoginToTwitter GoSub>UpdateStatus,This is a test GoSub>UpdateStatus,This is a test 2 GoSub>LogOut // END //*** SUBROUTINES ***// SRT>LoadWR //load the WebRecorder runtime LibLoad>IEAuto.dll,hIE If>hIE=0 MessageModal>Could not load IEAuto.dll, make sure it is in the path or edit the LibLoad line. Exit>0 EndIf END>LoadWR SRT>LoginToTwitter GoSub>LoadWR //open IE LibFunc>hIE,CreateIE,ieTwitter,0 LibFunc>hIE,ShowIE,res,ieTwitter,1 //log in to Twitter LibFunc>hIE,Navigate,r,ieTwitter,http://twitter.com/login LibFunc>hIE,WaitIE,r,ieTwitter LibFunc>hIE,FormFill,r,ieTwitter,,,session[username_or_email],TW_USERNAME,0 LibFunc>hIE,FormFill,r,ieTwitter,,,session[password],TW_PASSWORD,submit LibFunc>hIE,WaitIE,r,ieTwitter Wait>1 LibFunc>hIE,WaitIE,r,ieTwitter Wait>1 END>LoginToTwitter SRT>UpdateStatus LibFunc>hIE,FormFill,r,ieTwitter,,,status,UpdateStatus_VAR_1,submit LibFunc>hIE,WaitIE,r,ieTwitter Wait>1 END>UpdateStatus SRT>LogOut LibFunc>hIE,KillIE,r,ieTwitter END>LogOut
You need the IEAuto.DLL library which is installed with WebRecorder.
For a bit of fun the following code copies the currently highlighted text to the clipboard and tweets it. So assigned to a hot key it can be used to tweet any text from any application.
Press CTRL Send>c Release CTRL WaitClipBoard GetClipBoard>theText GoSub>UpdateStatus,theText
The real challenge is finding something useful to do with it! 🙂