|  | Unser Angebot für Sie! Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'! |
| |
Zusammenfassung
Senden Sie Twitter-Statusmeldungen ganz bequem von einem Access-Formular aus ab.
Techniken
XML, Formulare, VBA
Voraussetzungen
Access 2000 und höher
Beispieldateien
Twitter.mdb
Shortlink
www.access-im-unternehmen.de/715
Twittern mit Access
André Minhorst, Duisburg
Twittern Sie auch? Oder folgen Sie zumindest anderen, die bei Twitter mitmachen? Vielleicht kennen Sie Twitter ja auch noch gar nicht? Wir bringen Sie mit diesem Beitrag auf jeden Fall auf den aktuellen Stand und zeigen, wie Sie mit Access auf den beliebten Online-Dienst zugreifen.
Was ist Twitter?
Twitter ist ein Nachrichtendienst ähnlich RSS. Wer Nachrichten veröffentlichen möchte, legt einen Twitter-Account an und kann dann über twitter.com Kurznachrichten veröffentlichen, die maximal 140 Zeichen lang sind und typischerweise einen Link zur vollständigen Nachricht enthalten. Wer Twitter-Nachrichten lesen möchte, braucht keinen Account, sondern kann gleich auf twitter.com gehen und dort einen Suchbegriff eingeben. Bei Angabe eines Benutzernamens wie andreminhorst kann man durch einen Klick auf einen der gefundenen Benutzer dessen Nachrichten anzeigen, einfache Stichworte liefern schlicht eine nach Aktualität sortierte Liste von Nachrichten (eine Nachricht wird übrigens auch Tweet genannt). Neben den eigentlichen Nachrichten ist das Verfolgen derselbigen interessant. Sie können die Tweets eines Benutzers abonnieren, indem Sie ihm "folgen". Sie sind dann ein Follower dieses Benutzers. Dies gelingt allerdings nur, wenn Sie selbst ein Benutzerkonto besitzen. Andersherum können andere Benutzer ihnen folgen und erhalten beim Start des Twitter-Clients alle Nachrichten der Benutzer, denen sie folgen.
Unser Access-Twitter-Client soll auf einfachste Weise drei Dinge ermöglichen: Die Tweets eines Benutzers anzeigen, einen neuen Tweet erstellen und einen bestehenden Tweet löschen - all dies liefert das Formular aus Abb. 1. Natürlich bietet Twitter noch viel mehr Möglichkeiten: Beispielsweise zeigt er alle Tweets an, welche die Benutzer eingestellt haben, denen Sie folgen. Solche Features lassen wir an dieser Stelle jedoch aus - Sie können diese aber leicht nachprogrammieren.
Abb. 1: Dieses Formular enthält alle in diesem Beitrag vorgestellten Twitter-Funktionen.
Twitter fernsteuern
Bevor wir uns um die Formulargestaltung kümmern, schauen wir uns an, wie wir Twitter fernsteuern können. Das Senden und Löschen eigener Tweets erfordert die Authentifizierung, das Abfrufen der Tweets eines Benutzers funktioniert ohne.
Twitter-Meldung senden
Wer aktiv twittert, ärgert sich vielleicht, dass er sich immer und überall immer wieder neu an den Dienst anmelden muss, bevor er eine Statusmeldung abschickt (zumindest beim Twittern über das Internet - per Handy reicht das Abschicken einer SMS an eine bestimmte Rufnummer).
Wenn man beispielsweise zum Thema Access twittert (oder über Excel, Outlook, Word et cetera), warum sollte man sich nicht einfach ein kleines Tool bauen, in das man einfach seine Twitter-Meldung eingibt und diese per Mausklick oder Eingabetaste abschicken?
Dies ist prinzipiell ganz einfach. Sie brauchen nur eine URL mit der Statusmeldung zusammenzustellen und diese per HTTP-Protokoll an Twitter zu senden. Eine solche Meldung könnte etwa so aussehen:
http://twitter.com/statuses/update.xml?status=So klappt Twittern mit VBA!
Klar: Irgendwie muss man sich auch hier bei Twitter anmelden. Am einfachsten funktioniert dies mit einer Methode namens Basic Auth, die lediglich die Prozedur aus Listing 1 erfordert (inklusive eines Verweises auf die Bibliothek Microsoft WinHTTP Services, version x.y).
Public Function SendTweet(strUpdate As String, _
strUsername As String, strPassword As String) As Boolean
Dim objWinHttpRequest As New WinHttpRequest
Dim strURL As String
strURL = "http://twitter.com/statuses/update.xml?status=" _
& strUpdate
With objWinHttpRequest
.Open "POST", strURL, False
.SetCredentials strUsername, strPassword, 0
.Send
If .Status = 200 Then
SendTweet = True
End If
End With
End Function
Nun wird Basic Auth möglicherweise nicht mehr lang unterstützt, weil die Benutzerdaten hier unverschlüsselt über das Internet verschickt werden. Wir verwenden diesen Vorgehensweise dennoch und werden gegebenenfalls ein Update liefern, wenn die in diesem Beitrag vorgestellte Version nicht mehr funktioniert.
Twitter-Meldungen auslesen
Wenn Sie Twitter-Meldungen schreiben, möchten Sie diese vielleicht auch auslesen. Dies ist schon ein wenig komplizierter, aber auch nur, weil Sie erst die Antwort parsen müssen. Den Aufruf können Sie aber bereits vorab im Browser üben. Geben Sie dort etwa die folgende URL ein und erhalten Sie ein Ergebnis wie in Abb. 2:
Abb. 2:
http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=<Benutzername>
Statt <Benutzername> geben Sie dort einfach den Namen des Benutzers ein, dessen letzte Statusmeldungen Sie lesen möchten (die Statusmeldungen des Autors finden Sie beispielsweise unter andreminhorst). Das Entgegennehmen und Parsen des zurückgelieferten XML-Files nimmt schon ein wenig mehr Zeit in Anspruch. Die grundlegende Funktion sieht nicht viel anders aus als die erste (s. Listing 2). Die Unterschiede in Kurzform:
Public Function GetTweetsByUser_Listbox(strUser As String) As String
Dim strXML As String
Dim objXML As MSXML2.DOMDocument
Dim objStatus As MSXML2.IXMLDOMElement
Dim strID As String
Dim strText As String
Dim strDatum As String
Dim strTemp As String
If GetTweetsByUser(strUser, strXML) = True Then
|