Twitter API Umstellung

Falls Sie sich wundern, warum vielleicht das eigene Script bei einem Twitterposts über die API eine Fehlermeldung „Basic authentication is not supported“ bekommt, können beruhigt aufatmen. Das Posten über die API ist weiterhin möglich, jedoch hat Twitter die Anmeldung verändert.

Am 31.8 hat Twitter die „Authentication“ von Basic auf Oauth umgestellt. Dies bedeutet, dass es nicht mehr ausreicht einen Benutzernamen und Passwort anzugeben, sondern man muss einen kleinen Umweg über die Twitter Applications gehen, um Tweets zu erstellen.

Anbei nun ein kleines Turorial wie man mit Hilfe von PHP und Oauth automatisch Tweets erstellen kann:

Schritt 1 Application erstellen

Zuerst muss man eine Application auf http://dev.twitter.com/ erstellen. Bevor man eine Anwendung registriert, sollte man sich mit seinem Twitteraccount vorher anmelden.

Die Eingaben sind eigentlich selbsterklärend und können auch jederzeit geändert werden. Nach dem Speichervorgang werden div. Angaben von Twitter angezeigt.

Wichtig sind hier folgende Angaben

CONSUMER_KEY

CONSUMER_SECRET

Diese Daten braucht man nun um sich bei Twitter anzumelden.

Schritt 2: Domain und Twitter Account verknüpfen

Um einen OAuth Zugang zu implementieren gibt es bereits einige PHP Klassen die man nutzen kann. Wir empfehlen hier http://github.com/abraham/twitteroauth.

Auf dieser Seite kann man sich die PHP Klassen downloaden und entpacken.

Wir empfehlen das Entpacken in den Ordner /twitteroauth/. Somit liegen dort alle Dateien des Zip oder Tar Files. Nun muss man noch die Daten von oben in das Config.php File eintragen.

Als „OAUTH_CALLBACK“ sollte hier der Aufrufpfad zu der callback.php im Twitteroauth Ordner angegeben werden.

define(‚CONSUMER_KEY‘, ‚A1CfCzvjn8dsdfdfsdsf‘);

define(‚CONSUMER_SECRET‘, ‚LEJsonhS4A7pf4QJsdsfadfsaRarTT351To291aQ‘);

define(‚OAUTH_CALLBACK‘, ‚http://www.domain.de/twitteroauth/callback.php‘);

Nach diesen Änderungen muss man nun seine sozusagen Anwendung für die Domain bei Twitter registrieren, damit auf das Twitter Konto zugegriffen werden kann. Dazu laden wir nun die Scripte auf den Webspace.

Mit Auftuf von www.ihre-domain.de/twitteroauth/index.php sehen Sie nun folgende Maske. Klicken Sie nun auf „Sign in with Twitter“.

Nun wird man wie bei anderen Applikation aufgefordert, der Anwendung Zugang auf das Twitter Profil zu geben. Nach einem Klick auf „allow“ ist nun die Verbindung geknüpft.

Schritt 3. Script zum Erzeugen von Tweets

Als nächster Schritt zeigen wir nun wie man mit Hilfe der API eigene Tweets erstellen kann.

Oben Im Script muss eine Session gestartet werden. Hier bitte beachten, dass vor dem Starten einer Session keine Ausgaben getätigt werden. Danach laden wir die PHP Klassen von Twitteroauth die uns Felder der Session mit wichtigen Werten füllen. Nun kann man sich mit diesen Werten bei Twitter anmelden und Tweets posten.

Hier einmal eine Beispielcode:

>?php

/* Load required lib files. */

session_start();

require_once(‚twitteroauth/twitteroauth/twitteroauth.php‘);

require_once(‚twitteroauth/config.php‘);

/* If access tokens are not available redirect to connect page. */

if (empty($_SESSION[‚access_token‘]) || empty($_SESSION[‚access_token‘][‚oauth_token‘]) || empty($_SESSION[‚access_token‘][‚oauth_token_secret‘])) {

header(‚Location: ./twitteroauth/clearsessions.php‘);

}

/* Get user access tokens out of the session. */

$access_token = $_SESSION[‚access_token‘];

/* Create a TwitterOauth object with consumer/user tokens. */

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token[‚oauth_token‘], $access_token[‚oauth_token_secret‘]);

/* If method is set change API call made. Test is called by default. */

$content = $connection->get(‚account/verify_credentials‘);

/* Some example calls */

//$connection->get(‚users/show‘, array(’screen_name‘ => ‚abraham‘)));

$connection->post(’statuses/update‘, array(’status‘ => „Hello World“));

Nun werden auf dem Account die Tweets erzeugt.

Impressum