Twittern mit Access

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

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 Bild 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.

pic004.png

Bild 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.xmlstatus=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).

Listing 1: Absenden eines Tweets

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.xmlstatus=" _
    & 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 Bild 2:

http://api.twitter.com/1/statuses/user_timeline.xmlscreen_name=<Benutzername>

pic001.png

Bild 2: Die aktuellste der letzten 20 Statusmeldungen eines Benutzers.

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:

  • Wir brauchen nur den Username zu übergeben.
  • Dafür gibt es einen neuen Rückgabeparameter namens strXML, der die Antwort im XML-Format liefert.
  • Die Open-Methode arbeit mit dem Parameter GET statt POST.

Listing 2: Tweets eines Benutzers einlesen

Public Function GetTweetsByUser(strUsername As String, strXML As String) As Boolean
    Dim objWinHttpRequest As New WinHttpRequest
    Dim strURL As String
    strURL = "http://api.twitter.com/1/statuses/user_timeline.
    xmlscreen_name=& strUsername
    With objWinHttpRequest
        .Open "GET", strURL, False
        .Send
        If .Status = 200 Then
            GetTweetsByUser = True
        End If
        strXML = .ResponseText
    End With
End Function

Da wir hier einen Rückgabeparameter verwenden, erfolgt der Aufruf nicht mehr einfach über das Direktfenster, sondern mindestens über eine Prozedur, die den Rückgabeparameter zuvor deklariert und diesen auswertet. Wir greifen an dieser Stelle ein wenig auf das Formular der Beispielanwendung vor und schauen uns die Prozedur GetTweetsByUser_Listbox an, die das Ergebnis von GetTweetsByUser auswertet und in Form einer Datensatzherkunft für ein Listenfeld liefert (s. Listing 3). Diese ermittelt den XML-Code, den die HTTP-Anfrage als Antwort liefert.

Listing 2: Tweets eines Benutzers einlesen

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar