Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/2011.

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'!

Diesen Beitrag twittern

Zusammenfassung

Passen Sie die Twitter-Anwendung an die neue Authentifizierungsmethode von Twitter an.

Techniken

XMLHTTP

Voraussetzungen

Access 2000 und höher

Beispieldateien

Twitter_II.mdb

Shortlink

www.access-im-unternehmen.de/774

Twittern mit Access, Update

André Minhorst, Duisburg

Der Beitrag Twittern mit Access (www.access-im-unternehmen.de/715) hat gezeigt, wie Sie von einer Access-Datenbank aus twittern können. Später hat Twitter die Authentifizierung sicherer gemacht und somit auch die Authentifizierungsmethode geändert. Diese heißt nun OAuth und die Implementierung erfordert einigen Mehraufwand. Es gibt jedoch eine Alternative, um diesen Aufwand zu verhindern.

Die Lösung liegt in der Verwendung eines Internet-Services, dem Sie Ihre Zugangsdaten für Twitter übergeben und der die Authentifizierung für Sie übernimmt. Sie können dann unter VBA fast genauso twittern wie Sie es mit der Lösung aus dem oben erwähnten Beitrag erledigt haben. Den Service finden Sie im Internet unter supertweet.net. Es gibt sicher noch weitere Anbieter, aber wir beschreiben hier exemplarisch die Vorgehensweise mit diesem Service.

Twitter-Account registrieren

Als erstes registrieren Sie Ihre Zugangsdaten bei supertweet.net, indem Sie auf den entsprechenden Link auf der Startseite klicken (s. Abb. 1). Sie werden dann zum Dialog aus Abb. 2 weitergeleitet. Hier melden Sie sich bei Twitter an und erlauben damit supertweet.net, auf Ihren Twitteraccount zuzugreifen. Ihr Kennwort geben Sie so nicht an die supertweet.net weiter! Wenn Sie sich anschließend bei twitter.com anmelden, finden Sie in den Einstellungen unter Applications einen neuen Eintrag namens MyAuthAPIProxy (s. Abb. 3). Wenn Sie diesen Eintrag entfernen, entziehen Sie supertweet.net die Möglichkeit, auf Ihren Account zuzugreifen. Nun legen Sie nur noch ein Kennwort für den Zugriff auf Twitter über den Proxy von supertweet.net an. Dazu wechsen Sie zur Home-Seite des Angebots. Dort finden Sie unter Access Credentials eine Tabelle, die bereits Ihren Twitter-Benutzernamen enthält. In der letzten Spalte mit der Überschrift Status klicken Sie auf den Activate-Link und geben im folgenden Schritt das Kennwort ein. Sinnvollerweise verwenden Sie hier ein anderes Kennwort als das, was Sie für den Zugriff auf Twitter einsetzen.

pic001.png

Abb. 1: Registrierung bei supertweet.net

pic002.png

Abb. 2: Anmeldung bei Twitter zur Freischaltung des Zugriffs über supertweet.net

pic003.png

Abb. 3: Anwendungen eines Twitter-Accounts

Einschränkungen

supertweet.net bietet diesen Dienst kostenlos an. Sie sollten ihn daher nicht für eine große Anzahl an Zugriffen verwenden. Außerdem finanziert sich dieser Dienst aus Spenden - sollten Sie ihn nutzen, können Sie sich auf der Webseite erkenntlich zeigen. Methoden, bei deren Einsatz große Datenmengen transferiert werden, können offensichtlich nur mit entsprechenden zeitlichen Abständen ausgelöst werden.

Anpassung der Beispieldatenbank

Damit haben Sie die Voraussetzungen geschaffen, ohne großen Aufwand weiterhin mit der Beispieldatenbank aus dem Beitrag Twittern mit Access (www.access-im-unternehmen.de/715) Tweets zu senden und weitere Aktionen wie das Löschen oder Lesen von Tweets durchzuführen.

Änderungen brauchen Sie nur im Modul mdlTwitter vorzunehmen. Hier legen Sie zunächst die Webadresse des Anbieters in Form einer Konstanten fest:

Const cURL As String = "http://api.supertweet.net"

Auch die drei bereits enthaltenen Funktionen für den Zugriff auf Twitter passen Sie entsprechend an. Einen neuen Status sendet beispielsweise die Funktion NewTweet. Diese erwartet den Text des Status, den Benutzernamen und das Kennwort. Beachten Sie, dass Sie hier das Kennwort für supertweet.net angeben und nicht das für Twitter. Die Funktion sieht nun wie in Listing 1 aus. Sie benutzt das XMLHTTP-Objekt der XML-Bibliothek zum Absenden der Statusmeldung, also nicht mehr das in der vorherigen Version eingesetzte WinHttpRequest-Objekt. Somit können Sie auch den Verweis auf die Bibliothek Microsoft WinHTTP Services, version 5.0 entfernen.

Listing 1: Absenden einer neuen Statusmeldung

Public Function NewTweet(strUpdate As String, strUsername As String, strPassword As String) As Boolean

    Dim objXMLHTTP As MSXML2.XMLHTTP

    Dim strURL As String

    Set objXMLHTTP = New MSXML2.XMLHTTP

    strURL = cURL & "/1/statuses/update.xml"

    With objXMLHTTP

    .Open "POST", strURL, False, strUsername, strPassword

    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded "

    .Send "status=" & strUpdate

    If .status = 200 Then

        NewTweet = True

    Else

        MsgBox "Aufruf gescheitert:" & vbCrLf & .status & " " & .statusText

    End If

    End With

End Function

Sie benötigen drei Methoden von XMLHTTP, um die Anfrage zu senden:

  • Open: Öffnet die Verbindung.
  • setRequestHeader: Legt in diesem Fall den Typ des Inhalts fest.
  • Send: Sendet die Anfrage und übergibt weitere Informationen, hier den Inhalt der Statusmeldung.

Die übrigen Funktionen DestroyTweet und GetTweetsByUser wurden ebenfalls geändert - Sie finden die neuen Versionen im Modul mdlTwittern der Beispieldatenbank. Das Formular der Beispielanwendung aus Abb. 4 können Sie wie gewohnt verwenden. Sie müssen lediglich die Benutzerdaten anpassen, indem Sie auf die Schaltfläche rechts vom Feld Benutzername klicken und das Kennwort auf Ihr bei supertweet.net angegebenes Kennwort einstellen.

pic004.png

Abb. 4: Das Twitter-Formular

Eigener Server?

Wenn Sie einen eigenen Webserver betreiben, können Sie den Proxy auch dort installieren und verwenden. Alles weitere hierzu erfahren Sie unter http://www.supertweet.net/about/localproxy.

Zusammenfassung und Ausblick

Mit dem Service auf supertweet.net können Sie die Beispielanwendung zum Senden von Tweets weiter einsetzen. Für die Durchführung zahlreicher Anfragen ist diese Vorgehensweise jedoch nicht geeignet: Dazu sollten Sie dann doch mit OAuth arbeiten. Die Vorgehensweise stellen wir in einem folgenden Beitrag vor.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Download

Download

Die .zip-Datei enthält folgende Dateien:

Twittern_II.mdb

Beispieldateien downloaden

© 2003-2015 André Minhorst Alle Rechte vorbehalten.