Posting Status Updates (Tweets) To A Twitter Profile Via ASP.NET
A subroutine in VB.NET to post Twitter status updates (tweets) via the Twitter API. Uses the basic authentication method rather than OAuth. Requires the System.Net, System.IO and System.XML namespaces.
This methodology no longer works! Twitter now requires OAuth authentication for all API requests. As such, this solution no longer works. It is being retained for search engine indexing purposes only.
Sub TwitIt(ByVal strUser As String, ByVal strPass As String, ByVal strMessage As String)
'this subroutine requires your ASP.NET page to have a label control with an ID of lblStatus
'create post variable for tweet
Dim strTweet As String = "status=" & Server.HtmlEncode(strMessage)
'convert post variable to byte array for transmission purposes
Dim bRequest As Byte() = System.Text.Encoding.ASCII.GetBytes(strTweet)
Try
'create HttpWebRequest to status update API resource
Dim objRequest As HttpWebRequest = WebRequest.Create("http://twitter.com/statuses/update.xml")
'pass basic authentication credentials
objRequest.Credentials = New NetworkCredential(strUser, strPass)
'set method to post and pass request as a form
objRequest.Method = "POST"
objRequest.ContentType = "application/x-www-form-urlencoded"
'tell the server it will not receive a 100 Continue HTTP response
objRequest.ServicePoint.Expect100Continue = False
'set content length of request
objRequest.ContentLength = bRequest.Length
'capture the stream (content) of the request
Dim objStream As Stream = objRequest.GetRequestStream()
'put the bytes into request
objStream.Write(bRequest, 0, bRequest.Length)
'close the stream to complete the request
objStream.Close()
'uncomment line below to report success
'lblStatus.Text = "Tweet sent!"
'You can also capture the XML response Twitter sends back
'uncomment lines below to capture responses
'Dim objResponse As WebResponse = objRequest.GetResponse()
'Dim objReader As New StreamReader(objResponse.GetResponseStream())
'lblStatus.Text = objReader.ReadToEnd()
Catch ex As Exception
'uncomment line below to report ASP.NET errors
'lblStatus.Text = ex.Message
End Try
End Sub