Andy Edinborough

Can't touch this

C# OAuth Implementation

Posted on December 17, 2009 in Code    Tagged .net c# yahoo oauth Tweet This

AAAARRRRGGGHHH!!

I had to get that out of my system.  I’m not familiar enough with the exact specification of OAuth to know whether it’s Yahoo or Yedda that can’t read a spec, but the Yedda implementation of OAuth available on Google Code, doesn’t even begin to work with Yahoo’s YQL API.  Futhermore, the Yedda implementation is bloated and hard to follow.  Why is it that so many programmers feel the need to over complicate EVEYRTHING.

So… Here’s my rewrite of the Yedda implemenation.  It works out-of-the-box.  There are no objects to instantiate, just 4 very simple static methods to use.  A word of caution, System.Net.WebClient cannot be used to talk to Yahoo.

Update (1/29/2010): See a complete working example of C# / OAuth / Yahoo YQL.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;

namespace WAN.Lib {
    public static class OAuth {
        private static Random… Read More →

Use Late-Binding in C# Now, without .NET 4.0

Posted on June 17, 2009 in Code    Tagged .net c# late-binding Tweet This

The lack of late-binding in C# has been one of my biggest gripes about C#.  Finally, in the .NET Framework v4.0, the dynamic keyword has been introduced (it could be argued that it is too loose—allowing for variant types).  But until it is released, the need still exists, and even then, not all clients will immediately support it.  So, in a bind, I wrote a simple class to allow access to objects via late-binding in C#. 

The trick to figuring out how to write the code came from using Reflector to decompile some VB.NET code… (I love reverse-engineering :]).  The answer is that the VB compiler makes use of an area of the .NET Framework within the Microsoft.VisualBasic assembly that is marked with the attribute [EditorBrowsable(EditorBrowsableState.Never)] to prevent people from discovering it.

Here’s an example that uses my Late-Binding code to open an Excel Spreadsheet and convert it to a… Read More →

© 2012 Andy Edinborough. All your rights are belong to me.