Add ‘Tweet This’ button to your Asp.Net site. Twitter + Bit.ly url shortening August 8
Adding your own ‘Tweet This’ buttons so your visitors can post to twitter (complete with URL shortening using Bit.ly) is really easy.
Just add a page ‘twitter.aspx’ to your site and remove all the HTML from the page.
Add this code:
Imports System.Net
Partial Public Class Twitter
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.QueryString("url") <> "" And Request.QueryString("com") <> "" Then
TweetThis(Request.QueryString("url"), Request.QueryString("com"))
End If
End Sub
Private Sub TweetThis(ByVal sIWTFURL As String, ByVal sComment As String)
Dim sShortURL As String
Dim sFullTweet As String
sShortURL = ShortenURL(sIWTFURL)
sFullTweet = sComment & " - " & sShortURL
SentToTwitter(sFullTweet)
End Sub
Private Function ShortenURL(ByVal sURL As String) As String
Dim sJSON As String
Dim oWebClient As New WebClient
Dim sBitlyURL As String
Dim sShortURL As String
sBitlyURL = "http://api.bit.ly/shorten?version=2.0.1&longUrl=" & Server.UrlEncode(sURL) & "&login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07"
sJSON = oWebClient.DownloadString(sBitlyURL)
sJSON = Mid$(sJSON, InStr(sJSON, Chr(34) & "shortUrl" & Chr(34)) + 9)
Do While sJSON.ToLower.StartsWith("http://") = False
sJSON = Mid$(sJSON, 2)
Loop
sShortURL = sJSON.Split(Chr(34))(0)
ShortenURL = sShortURL
End Function
Private Sub SentToTwitter(ByVal sComments As String)
Dim sURL As String
sURL = "http://twitter.com/home/?status=" & HttpUtility.UrlEncode(sComments)
Response.Redirect(sURL, False)
End Sub
End Class
Note: I am using the default Bit.ly login in the example, you should sign up for your own bit.ly account so you can track usage of your links.
Now you just need to add some javascript to your html pages:
<a href="#" onClick='javascript:PostToTwitter()'>Tweet This</a>
<script>
function PostToTwitter()
{
var sTweet = 'This is the default text that will appear in the tweet';
var ShareURL = window.location.href;
window.open('http://yoursite.com/twitter.aspx?url='+encodeURIComponent(ShareURL)+'&com='+encodeURIComponent(sTweet));
return false;
}
</script>

