Geeks With Blogs
Joe Mayo

Today, I released LINQ to Twitter v2.1.08. This was primarily a critical bug fix where the problem was that no one using LINQ to Twitter could tweet. Of course, most people need to tweet, so it was pretty important to get this fixed.

The core of the issue is that LINQ to Twitter has been performing HTTP POST requests for a long time without setting Content-Type. Twitter API has been very forgiving on this, but recently began tightening standards after moving to Twitter API v1.1. In fact, recent blog posts by the Twitter API team have indicated that they would be tightening HTTP and OAuth standards.

The current problem started several days ago with posts by a couple people that were experiencing intermittent problems. Without being able to reproduce the situation, I wasn’t able to figure out what the problem was. The error returned from Twitter API was:

{"errors":[{"code":170,"message":"Missing required parameter: status"}]}

Certainly, status was included in the request, so I was a bit confused. Anyway, the problem got a whole lot worse today and started affecting many people, including myself.

Fortunately, one of Twitter’s Developer Evangelists, @episod, was able to point me in the right direction right away, noticing the fact that I hadn’t included the Content-Type header.

I set Content-Type, but that wasn’t working immediately because I then began to receive 401 errors. It seems I wasn’t processing parameters properly, so I iterated through posted parameters and passed them into the OAuth component so they could contribute towards building the OAuth signature. Along the way, I had a temporary glitch by accidentally including all possible parameters, whether I used them or not, but fixed that by only including the parameters that were being sent with the POST body for OAuth processing. After I got through that, everything worked fine.

Here are the diffs if you’re curious:

These changes are now posted to both and as v2.1.08 and you’ll want to update if you’re calling UpdateStatus.


Posted on Monday, July 22, 2013 6:54 PM | Back to top

Copyright © Joe Mayo | Powered by: