Google offers quite rich API for users of their services. Most of it needs some form of authentication. Without much ado here is my C# implementation. Only limitation is lack of captcha support, everything else should be there.
P.S. If you are interested in Google Data API, you might want to check .NET client library. It is open source project and it covers pretty much whole API suite.