Dim URI As New Uri(RequestTokenURL)
Dim nonce As String = oAuth.GenerateNonce()
Dim timeStamp As String = oAuth.GenerateTimeStamp()
Dim sig As String = oAuth.GenerateSignature(URI, mConsumerKey, mConsumerSecret, String.Empty, String.Empty, "POST", timeStamp, nonce, Global.OAuth.OAuthBase.SignatureTypes.HMACSHA1, String.Empty, String.Empty)
'sig = HttpUtility.UrlEncode(sig)
'Create Request and GET
Dim sb As New StringBuilder()
sb.AppendFormat("oauth_callback={0}&", HttpUtility.UrlEncode(getFullPath() & "/Twitter/")) '" &
sb.AppendFormat("oauth_consumer_key={0}&", mConsumerKey)
sb.AppendFormat("oauth_nonce={0}&", nonce)
sb.AppendFormat("oauth_timestamp={0}&", timeStamp)
sb.AppendFormat("oauth_signature_method={0}&", "HMAC-SHA1")
sb.AppendFormat("oauth_version={0}&", "1.0")
sb.AppendFormat("oauth_signature={0}", sig)
LogError("Post URL: " & Environment.NewLine & URI.ToString() & Environment.NewLine & "Post Data: " & Environment.NewLine & HttpUtility.UrlEncode(sb.ToString), "twitterOut")
Dim tmp As String = HTTPPost(URI.ToString(), HttpUtility.UrlEncode(sb.ToString))
LogError(tmp, "TwitterRequest")
That is step 1 to run the post to:
Private Const RequestTokenURL As String = "https://api.twitter.com/oauth/request_token"
Public Function HTTPPost(ByVal URL As String, ByVal PostData As String, Optional ByVal ContentType As String = "text/html") As String
Dim request As HttpWebRequest = HttpWebRequest.Create(URL)
request.Method = WebRequestMethods.Http.Post
request.ContentLength = PostData.Length
request.ContentType = ContentType
Dim writer As New StreamWriter(request.GetRequestStream)
writer.Write(PostData)
writer.Close()
Dim tmp As String = ""
Try
Dim oResponse As HttpWebResponse = request.GetResponse()
Dim reader As New StreamReader(oResponse.GetResponseStream())
tmp = reader.ReadToEnd()
oResponse.Close()
Catch e As WebException
Using response As WebResponse = e.Response
Dim httpResponse As HttpWebResponse = DirectCast(response, HttpWebResponse)
Console.WriteLine("Error code: {0}", httpResponse.StatusCode)
Using data As Stream = response.GetResponseStream()
tmp = New StreamReader(data).ReadToEnd()
End Using
End Using
End Try
HTTPPost = tmp
End Function