BC oAuth may fit the bill. The first release was broken and had some incorrect service-specific implementations, but I believe the author recently updated it, so give that a try (mine is so heavily modified now that I'm going to stick with it instead of the official trunk).
If you have any problems with it, let me know and I'll share some of the changes I made to get it to work (the more important Google-related ones are actually on the forum already if you check out the
bc-oauth tagged posts).
I'm tempted to fork it to clean up some standards, UI, and usability issues - but the author has done such a spectacular job getting the oAuth libraries integrated with WordPress that I don't want to step on any toes just yet.