Twitter im Blog anzeigen
Kategorie: microblogging, Webentwicklung
Bei diesem Artikel handelt es sich um einen Gastpost von Chaim.
Twitter ist ein sehr flexibler Onlinedienst, der seinen Erfolg mit Sicherheit auch seiner
umfangreichen API zu verdanken hat. Twitter selbst liefert passend zu dieser API eine
umfangreiche Dokumentation und wenn man sich die Mühe macht ein wenig zu googlen, findet man noch viele weitere Tutorials um mit der Twitter API zu arbeiten.
Doch manchmal, möchte man gar nicht so umfangreich damit arbeiten sondern einfach
nur ein paar Tweets auf seinem Blog in der Sidebar präsentieren oder ähnliches. So ging es mir zumindest vor einigen Tagen. Ich wollte für einen Freund, einen kleinen Twitterfeed in seinen Blog einbauen und habe aufgrund meiner Faulheit natürlich gleich nach einem Codeschnipsel gegoogled. Zunächst habe ich aber nur Sachen gefunden, wo mit der Twitter API gearbeitet wurde und somit eine Passworteingabe erforderlich war. Ich fands etwas blöd, ihn nach seinem Passwort zu fragen und war mir auch nicht ganz sicher, ob er es von alleine schafft sein Passwort in der Variable zu ergänzen
deswegen habe ich mir überlegt, dass das auch anders gehen muss.
Und es geht auch anders, nämlich mit der Twitter Search! Mit der Suche, lassen sich Tweets von bestimmten Personen mittels Operatoren anzeigen. Zum Beispiel kann ich mit from:creanu alles anzeigen lassen, was ich getwittert habe. Mit to:creanu, sehe ich wer mir einen Replay geschickt hat.
So weit, so gut. Nun kommt der eigentliche Trick: Jede Suche ist auch als Feed verfügbar. Ihr findet ein kleines RSS-Icon auf der rechten Seite der Twittersuche, daneben steht „Feed for this query“. Die Adresse zu diesem Feed kopiert ihr und verarbeitet sie nun mittels PHP und der Simplexml Schnittstelle, die mit PHP5 mitgeliefert wird und standardmäßig aktiviert ist.
Hier mein Codebeispiel, um die vier letzten Tweets von mir anzeigen zu lassen:
$feed = "http://search.twitter.com/search.atom?q=from:creanu&rpp=4";
$xml = simplexml_load_file($feed);
echo "<b>Meine letzten Tweets:</b> <br /><br />";
foreach($xml->entry as $entry) {
$tweet = $entry->title;
$title = htmlentities($tweet,ENT_QUOTES, 'utf-8');
echo $tweet."<br /><br />";
}
Die Variable $feed beinhaltet die Adresse zu dem Feed der Suchanfrage. Der Parameter
rpp mit dem Wert 4 sorgt dafür, dass nur die letzten 4 Tweets angezeigt werden.
Mit simplexml_load_file($feed) lade ich nun die Daten und verarbeite Sie mittels einer
Foreach Schleife.
Die Informationen werden mit XML „verschachtelt“ bereit gestellt, jeder Tweet befindet sich in dem „Container“ „Entry“, deswegen muss ich – um die Tweets zu verarbeiten – jedes Mal mit meiner Schleife die Container abarbeiten. In diesem Container befindet sich der Inhalt meines Tweets im Objekt „Title“. Diesen Inhalt speichere ich in der Variable $title und formatiere ihn dann noch schnell mit htmlentities. Mittels echo wird er dann einfach ausgegeben.
Nun kann ich das Ganze natürlich noch beliebig variieren. Zum Beispiel die Anzahl der ausgegebenen Tweets erhöhen oder weitere Informationen aus der XML Datei auslesen. Wenn ihr euch die XML Datei einmal anschauen wollt, solltet ihr im Firefox ausschalten, dass Webfeeds automatisch mit eurem RSS Reader geöffnet werden und stattdessen im Browser angezeigt werden. Den Feed ruft ihr dann auf und lasst euch den Quelltext
anzeigen. Dann seht ihr, wie die einzelnen Objekte benannt sind und könnt die Informationen auslesen.
Gepostet am: 30. 7. 2009

