« Starbucks Card | Main | Stubborn iTunes Mini Player »
Thursday
Sep302010

Quicksilver, Twitter, and OAuth

A few years ago, I discovered this wonderful way to tweet from Quicksilver. But then Twitter changed something something OAuth something something at the end of August 2010. I stumbled upon this workaround:

1. sign up on SuperTweet.net and authorize it with your twitter account.
2. open up Keychain Access and make a new entry (just enter SuperTweet as the item name, SuperTweet username, SuperTweet password)
3. edit your current Tweet script to something like shown below (basically changing references from Twitter.com to api.SuperTweet.net). Bonus tip: you can hard-code geolocation to your tweet, which is useful if you always Quicksilverly tweet from the same place/s, or if you feel like lying about where you are.


  using terms from application "Quicksilver"
	on process text tweet
		tell application "Keychain Scripting"
			set twitter_key to first generic key of current keychain whose name is "SuperTweet"
			set twitter_login to quoted form of (account of twitter_key & ":" & password of twitter_key)
		end tell
		set twitter_status to quoted form of ("source=qucs&lat=21.510625&long=-157.969311&status=" & tweet)
		set results to do shell script "curl --user " & twitter_login & " --data-binary " & twitter_status & " http://api.supertweet.net/statuses/update.json"
		-- display dialog results
		return nothing
	end process text
end using terms from  


I would have liked if the tweet entry still said “via Quicksilver” like the good old days, but “via MyAuth API proxy” sounds nerdy enough for me. It’ll do for now, I guess.

UPDATE November 11 2011:
Since I upgraded to OS X 10.7 Lion, the original script above failed because Apple got rid of the Keychain Scripting app (probably for security reasons). So, you’ll just need to hardcode the username and password for SuperTweet into the applescript directly, instead of trying to fetch it from the Keychain. And, no, that’s not my real password:
using terms from application "Quicksilver"
	on process text tweet
		set twitter_status to quoted form of ("status=" & tweet)
		set results to do shell script "curl --user jaysin:passw0rd" & " --data-binary " & twitter_status & " http://api.supertweet.net/statuses/update.json"
		-- display dialog results
		return nothing
	end process text
end using terms from 




http://jay.si/qstweet

References (5)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: boutique gucci
    Quicksilver, Twitter, and OAuth - Blog - Jaysin Trevino
  • Response
    вконтакте вход на страницу
  • Response
    Response: fitflop tøfler
    Everyone appreciate handle s a kind word. Then he would fitflop sko roll up his sleeves, rearrange his paperwork and stare intently at the documents on his desk. This is a perfect food to help combat the cold dry weather in the winter mont fitflop hs (Vata season). Characteris
  • Response
    Tweets are common now a day, as it's the most popular way of communicating as well as let the world know what your saying about yourself or views. But the updates being done in this social networking is very sophisticated that brings a good change over.
  • Response
    The postings on your site are always excellent. Thanks for the great share and keep up this great work! All the best to you.

Reader Comments (4)

Nice! Thank you! This is awesome. I've been wanting that script fixed to support OAuth and was just too lazy to do it myself. See, procrastination pays off!

Jan 6 2011 at 01:53 PM | Unregistered CommenterNate Ritter

Hey, by the way, I like your Quicksilver theme... could you point me in the right direction for that as well?

Jan 6 2011 at 01:55 PM | Unregistered CommenterNate Ritter

I'm glad I could help, Nate. I think the only modification I did to my Quicksilver "theme" was changing the base color to blue instead of purple. That was probably back in version B48 days or so, when it was easy to just go to Quicksilver's Appearance preferences and change bezel colors and stuff. For me, every checkbox in that preference pane was checked. It just looked good.

Then somewhere along the lines of version B54 or earlier, the preference panel broke. Apparently, the current fix for that is to temporarily upgrade to B58, change whatever preferences you want, then downgrade back down to B54. I would like to use the latest version, of course, but some plugins and features don't work with the latest release, so I stick with B54.

Everything about this whole thing seems like one big workaround, but at least it works.

Jan 6 2011 at 10:47 PM | Registered CommenterJaysin

Tried this but couldn't get it to work. It would silently fail and my tweet didnt seem to go anyware.

Had a bit of a dig about and it seems that SuperTweet must have changed their urls since you posted this.

I managed to get it to work after changing the url to http://api.supertweet.net/1/statuses/update.xml

Hope this helps.

Feb 9 2011 at 08:35 AM | Unregistered CommenterRob

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>