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.








Hallo,
die Umstellung hat auch uns einiges an Kopfverbrechen bereitet. Zumal ich den Sinn hinter der Umstellung bislang noch nicht ganz verstanden habe, aber da muss man wohl durch.
Wir haben die Umstellung auf eine eigene Twitter-App zwar schon durch, aber dennoch vielen Dank für deinen Artikel. Gute Arbeit!
Liebe Grüße,
Constantin
Echt klasse dein kleines Tutorial, hat mir sehr weiter geholfen. Vielen dank, werd in Zukunft sicherlich hier öfters vorbei schauen.
Hi Tom,
nach langer Fehlersuche warum nichts mehr zu twitter übertragen wird, war dein Beitrag richtig hilfreich. Auch wenn twitter diese Umstellung anscheinend angekündigt hatte, habe ich es nicht mitbekommen. Hier hast du jedenfalls die beste Anleitung für die Umstellung geschrieben
habe alles im Internet abgesucht… jetzt funktioniert es bei uns auch wieder.
Grüße
Markus
PS: Die Webseite ist schön geworden…
Hi,
eine Frage zum Beispielcode:
Welche Tokens muss ich genau wo einfügen? Worin besteht der Unterschied zwischen access_token und oauth_token? Sind die nicht gleich?
Danke und Gruß
JÖRG
Hallo,
bei mir hapert es am Beispielcode.
Welche Werte müssen exakt geändert werden bzw. mit den Tokens “gefüllt” werden? Wo ist der Unterschied zwischen access_token und oauth_token?
Gruß
JÖRG
Tschuldigung für den 3. Post.
Hat jetzt auch ohne Hilfe funktioniert.
Gruß
JÖRG
PS: Der Beispielcode hat übrigens einen kleinen Fehler …
danke für die infos … hatte mich schon gewundert warum das nicht mehr funktioniert … nerv …