.NET
VB.NET: Kurze URLs erstellen mit bit.ly Teil 2
Posted on .Wie bereits im letzten Beitrag angekündigt möchte ich in diesem Beispiel zeigen, wie man seine URLs mit dem Dienst bit.ly verkürzen kann.
Ersteinmal die Frage „warum überhaupt bit.ly? Ich habe doch tinyurl.com!“
Nun das ist einfach, denn bit.ly bietet einen größeren Featureumfang. Dawäre:
- Eigene Accounts
- Linkmonitoring (wie oft wurde mein Link geklickt)
- Statistiken
- Erweiterte Abfragen und Parameter
- Kürzerer Name (bit.ly = 6 Zeichen | tinyurl.com = 11 Zeichen)
Allgemein kann man sagen, bit.ly ist professioneller aufgelegt! Aber mit einem höherem Featureumfang wird die Benutzung der APIs auch etwas komplexer.
An die API-Dokumentation von bit.ly kommt man sehr einfach in dem man auf deren Homepage ganz unten auf „API“ klickt und dann dem gezeigten Link folgt. Hier findet man eine Komplette Dokumentation aller Möglichkeiten.
Was direkt auffällt ist, dass es viele verschiedene Funktionen gibt und die URL die wir benutzen müssen viel länger ist.
Das was aber auch sehr wichtig ist, ist dass man diesen Dienst nicht anonym benutzen kann, sondern sich einen Account erstellen muss um einen Sogenannten API-Key zu erhalten. Das ist hauptsächlich dafür da, um Missbrauch der Seite zu verhindern (zB. Spam).
Die Registrierung geht sehr schnell nach der Eingabe von Benutzername, E-Mail und Passwort. Wenn mann dann eingeloggt ist muss man folgende Seite aufrufen: http://bit.ly/account/your_api_key/ hier findet man seinen API-Schlüssel, den man unbedingt braucht, um URLs zu generieren, also aufschreiben!
ACHTUNG: In meinem Beispiel hier verwende ich den Demo-API-Schlüssel von bit.ly, der auch in der Doku steht. Wenn ihr was eigenes macht müsst ihr euch unbedingt registrieren!
Hat man das einmal geschafft kann man mit dem Programmieren loslegen:
Public Function shortURL(ByVal langeURL As String) Dim retVal As String = "" 'Für dem API Aufruf wird benötigt: '-> Die Versionsnummer (version) '-> ein Benutzername (login) '-> ein API-Schlüssel (apiKey) 'Den API-Aufruf starten: Dim myRequest As WebRequest = WebRequest.Create _ ("http://api.bit.ly/shorten?" & _ "version=2.0.1" & _ "&format=xml" & _ "&longUrl=" & langeURL & _ "&login=bitlyapidemo" & _ "&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07") Dim myResponse As WebResponse = myRequest.GetResponse 'Den erzeugen Strom auslesen Dim myReader As StreamReader = _ New StreamReader(myResponse.GetResponseStream) 'Stream auslesen retVal = myReader.ReadToEnd myReader.Close() Return retVal End FunctionWie man sieht hat sich unser Code kaum verändert! Ich habe hier nur dem Link etwas angepasst, und um folgende Punkte erweitert:
- Version (Die Version der API, muss laut Doku mit angegeben werden!)
- Format (Gibt das Format an, das für die Antwort verwendet werden soll)
- Login (Der Benutzername von unserem Account)
- APIKey (Der API-Schlüssel, den wir erhalten haben)
- longURL (Und die zu kürzende URL)
Was hier wichtig ist, ist das Format. Hier hat man die Wahl zwischen XML und „json“, wobei ich euch XML empfehlen würde, da es einfach übersichtlicher und einfacher verwendbar ist!
Wenn wir nun einen Request mit diesem langen Link erstellen erhalten wir auch eine Antwort im XML oder json Format:
Bild 1: Die zwei Rückgabetypen von bit.ly
Wie man sieht erhalten wir hier anders als bei tinyurl.com nicht direkt die kurze URL, sondern einen Haufen Informationen, wie Fehlercode, Fehlernachricht etc…
Uns interessiert aber natürlich nur die neue kurze URL, also müssen wir diese ersteinmal aus dem XML Durcheinander auslesen. Dazu habe ich diese Funktion erstellt:
Public Function extractURL(ByVal response As String) 'Ein XML-Dokument anhand der Antword von bit.ly erstellen: Dim myDoc As New XmlDocument myDoc.LoadXml(response) 'Nun nehmen wir uns das Element raus, in dem die 'neue kurze URL steht: Return myDoc.SelectSingleNode("/bitly/results/nodeKeyVal/shortUrl").InnerText End FunctionHier wird einfach nur ein XML-Dokument erzeugt (aus der Antwort) und dann der entsprechende Node ausgelesen!
Ein Hinweis noch: In der Doku wird weiterhin erwähnt, dass man nur ein bengenztes Kontingent an API-Aufrufen hat. Wenn man die API viel nutzen will sollte man sich bei bit.ly melden!
Auch hierzu habe ich ein Kleines Demoprogramm angefertigt:
Bild 2: Der uRL-Kürzer in Aktion
Download Hier: Download
Hat euch der Beitrag gefallen? Ich freu mich auf euer Feedback!
Sebastian Gross
http://www.bigbasti.comSebastian Gross arbeitet in Bielefeld als Softwareentwickler für .NET und Java im Bereich Web.Als Fan der .NET-Plattform lässt er sich kein Userguppen Treffen und Community Event im Raum OWL entgehen.Dabei hat er eine besondere Vorliebe für das ASP.NET MVC Framework und für das Test Driven Development (TDD) entwickelt.
There are no comments.