A lot of people that are using LINQ to Twitter are getting the a 403 Forbidden on statuses/update. Setting Content-Type to “application/x-www-form-urlencoded” results in a 401. Here’s what I’m sending and a response:
POST https://api.twitter.com/1.1/statuses/update.json HTTP/1.1
Authorization: OAuth oauth_consumer_key=“x”,oauth_nonce=“x”,oauth_signature_method=“HMAC-SHA1”,oauth_timestamp=“1374531506”,oauth_token=“x”,oauth_version=“1.0”,oauth_signature="x"
User-Agent: LINQ to Twitter v2.1
Accept-Encoding: gzip, deflate
Host: api.twitter.com
Content-Length: 14
status=Testing
HTTP/1.1 403 Forbidden
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
content-length: 72
content-type: application/json;charset=utf-8
date: Mon, 22 Jul 2013 22:18:27 GMT
expires: Tue, 31 Mar 1981 05:00:00 GMT
last-modified: Mon, 22 Jul 2013 22:18:27 GMT
pragma: no-cache
server: tfe
set-cookie: lang=en
set-cookie: guest_id=v1%3A137453150704803142; Domain=.twitter.com; Path=/; Expires=Wed, 22-Jul-2015 22:18:27 UTC
status: 403 Forbidden
strict-transport-security: max-age=631138519
x-access-level: read-write-directmessages
x-frame-options: SAMEORIGIN
x-transaction: a08555d57927eece
x-xss-protection: 1; mode=block
{“errors”:[{“code”:170,“message”:“Missing required parameter: status”}]}