Yeah, I've used that tool with my real full base string and everything appears OK. Thanks for the pointer though, I'm sure that tool will come in handy again. :)
I have seen some blog posts issuing warnings over .NET's various ways of RFC3986 encoding, but this doesn't appear to be the issue here... I'll look into the hashing and base 64 encoding some more... (I've been working through this for almost two days now. Although this is the stuff I love doing in programming, it would be really nice if twitter could improve/make some documentation for oob.) On Mar 14, 2:25 pm, Tom van der Woerdt <[email protected]> wrote: > No, actually, it was my fault: it wasn't a %26, but a %3D. > > Oops! Base string is fine. > > Tom > > On 3/14/11 3:21 PM, Taylor Singletary wrote: > > > > > > > > > Wow, my blindness to signature base string foo this morning is > > humbling. Thanks Tom. > > > On Mon, Mar 14, 2011 at 7:15 AM, Tom van der Woerdt <[email protected] > > <mailto:[email protected]>> wrote: > > > After fixing the basic parts of your signature (please don't ever > > replace %26 with only a %, it screws up the encoding) and checking > > athttp://quonos.nl/oauthTester/, I got : > > > *Bad sorting!* > > All Base String parameters (query and POST parameters) must be > > sorted alphabetically. > > > Tom > > > On 3/14/11 3:02 PM, lappynet wrote: > >> Hi > > >> I'm using C#.NET to produce an oob client. I've fallen at the first > >> hurdle though as I'm failing to make the token request. > > >> I've gone through many iterations, and am no longer receiving a 417, > >> 404, or 401. This is very positive! Now my application hangs whilst > >> waiting for a response from twitter. (I left it running for an hour > >> over lunch and still nothing happened, and the code didn't appear to > >> want to step through.) > > >> I've tried with the values detailed in the documentation to have a > >> look at the variables that have been produced from them in my > >> algorithm. I think that I've traced it down to being the way I > >> generate the signature string: > > >> string signingKey = Uri.EscapeDataString(ConsumerSecret) + "&"; > >> HMACSHA1 hasher = new HMACSHA1(new > >> ASCIIEncoding().GetBytes(signingKey)); > >> string signatureString = Convert.ToBase64String(hasher.ComputeHash(new > >> ASCIIEncoding().GetBytes(baseString))); > > >> My base string is: > > >> POST&https%3A%2F%2Fapi.twitter.com <http://2Fapi.twitter.com>%2Foauth > >> %2Frequest_token&oauth_callback%3Doob%26oauth_consumer_key%XXX > >> %26oauth_nonce%3DNjM0MzU3MDgxMDEyMDcwODkw%26oauth_signature_method > >> %3DHMAC-SHA1%26oauth_timestamp%3D1300111301%26oauth_version%3D1.0 > > >> Any pointers as to where I may be going wrong? > > >> Thanks in advance > >> Georgina > > > -- > > Twitter developer documentation and resources: > > http://dev.twitter.com/doc > > API updates via Twitter:http://twitter.com/twitterapi > > Issues/Enhancements Tracker: > > http://code.google.com/p/twitter-api/issues/list > > Change your membership to this group: > > http://groups.google.com/group/twitter-development-talk > > > -- > > Twitter developer documentation and resources:http://dev.twitter.com/doc > > API updates via Twitter:http://twitter.com/twitterapi > > Issues/Enhancements Tracker: > >http://code.google.com/p/twitter-api/issues/list > > Change your membership to this group: > >http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
