Problem using REST API v1.1 from asp.net VB


#1

I’m creating an application to send out tweets from a vb.NET web application. I’ve got code writing an oAuth header and processing the requests, but I just receive either a 401:Unauthorized, or a 400: bad request. I’ve also attempted just copy/pasting one of the auth headers from the API oAuth tool in the control panel for testing to verify it is not that, but I get the same response.

I want to first make sure this is working with the pre-built oAuth header from the control panel, then I can determine if there is any issue with the code I have to write the headers dynamically.

Any ideas on where the problem may be?

Below is the code I have for actually sending the request:

        Dim resource_url As String = "http://api.twitter.com/1.1/statuses/update.json"

        Dim authHeader = "OAuth oauth_consumer_key=""XXXX"", oauth_nonce=""XXXX"", oauth_signature=""XXXX"", oauth_signature_method=""HMAC-SHA1"", oauth_timestamp=""1374865953"", oauth_token=""XXXX"", oauth_version=""1.0"""

        Dim status = "Updating status via REST API if this works"
        Dim postBody = "status=" & Uri.EscapeDataString(status)

        ServicePointManager.Expect100Continue = False

        Dim request As WebRequest = DirectCast(WebRequest.Create(resource_url), HttpWebRequest)
        request.Headers.Add("Authorization", authHeader)
        request.Method = "POST"
        request.ContentType = "application/x-www-form-urlencoded"

        Using stream As IO.Stream = request.GetRequestStream()
            Dim content As Byte() = ASCIIEncoding.ASCII.GetBytes(postBody)
            stream.Write(content, 0, content.Length)
        End Using
        Dim objresponse As WebResponse = request.GetResponse()