twitterOAuthNonce = Convert.ToBase64String(New ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString(CultureInfo.InvariantCulture)))
Dim timeSpan = DateTime.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)
twitterOAuthTimestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString(CultureInfo.InvariantCulture)
Dim baseString As String = "GET&" + Uri.EscapeDataString(twitterResourceURL)
'Dim parameterString As String = "oauth_nonce=" + twitterOAuthNonce + "&oauth_signature_method=" + twitterOAuthSignatureMethod + "&oauth_timestamp=" + twitterOAuthTimestamp + "&oauth_consumer_key=" + twitterOAuthConsumerKey + "&oauth_version=1.0"
Dim parameterString As String = "&oauth_consumer_key=" + twitterOAuthConsumerKey + "oauth_nonce=" + twitterOAuthNonce + "&oauth_signature_method=" + twitterOAuthSignatureMethod + "&oauth_timestamp=" + twitterOAuthTimestamp + "&oauth_version=1.0"
baseString = baseString + "&" + Uri.EscapeDataString(parameterString)
' or Dim signingKey As String = Uri.EscapeDataString(twitterOAuthConsumerSecret) + "&" + Uri.EscapeDataString(twitterAccessTokenSecret)
Dim signingKey As String = Uri.EscapeDataString(twitterOAuthConsumerSecret) + "&"
Dim hasher As New HMACSHA1(New ASCIIEncoding().GetBytes(signingKey))
twitterOAuthSignature = Convert.ToBase64String(hasher.ComputeHash(New ASCIIEncoding().GetBytes(baseString)))
Dim Header As String = "OAuth " +
"oauth_nonce=""" + twitterOAuthNonce +
"""oauth_callback=""" + twitterOAuthCallback +
"""oauth_signature_method=""" + twitterOAuthSignatureMethod +
"""oauth_timestamp=""" + twitterOAuthTimestamp +
"""oauth_consumer_key=""" + twitterOAuthConsumerKey +
"""oauth_signature=""" + twitterOAuthSignature +
"""oauth_version=""" + twitterOAuthVersion
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(twitterResourceURL), HttpWebRequest)
request.Headers.Add("Authorization", Header)
request.ContentType = "application/x-www-form-urlencoded"
request.Host = "api.twitter.com"
request.Method = "POST"
request.Proxy = Nothing
Dim response As HttpWebResponse = request.GetResponse