Eine einfache Twitter-Wall mit PHP im Eigenbau

Im letzten Monat hatte ich ein kurzes Tutorial zur Suche nach Hashtags in der Twitter Search API geschrieben. Darauf kam eine Anfrage, wie den eine einfache Twitter-Wall mit PHP zu realisieren sei. Auch das ist ganz einfach – hier sollte man die Parameter since_id verwenden um immer nur die neuesten Tweets nachzuladen. Im folgenden Beispiel wurde das ganz einfach mit einem Meta-Refresh der Seite realisiert. Schöner wäre dies mit Ajax, aber um das Beispiel möglichst einfach zu halten habe ich darauf verzichtet:

<?php

// Tutorial: Eine einfache Twitter-Wall im Eingenbau
// http://frank-it-beratung.com/blog/

session_start();

// Suche nach Hashtag...
$hashtag="design";
$APIurl = "http://search.twitter.com/search.json";

// Refreh-Url mit since_id ggf aus Session laden
if (!isset($_SESSION['refresh_url'])) {
    $param="?q=%23".$hashtag;    
} else {
    $param=$_SESSION['refresh_url'];
}
$APIurl.=$param;

// weitere Paramter für die Suche siehe
// https://dev.twitter.com/docs/using-search

// GET vorbereiten
$opts = array('http' =>
            array(
                'method'  => 'GET'
            )
        );

// mit file_get_contents versenden
$result = file_get_contents($APIurl, false, stream_context_create($opts));
$json=json_decode($result);

// since_id in Session speichern
$_SESSION['refresh_url']=$json->refresh_url;

// neue Ergebnisse seit der letzten Suche
$neueergebnisse="";
for ($i = 0; $i < count($json->results); $i++) {
    $neueergebnisse.="<img src='".$json->results[$i]->profile_image_url;
    $neueergebnisse.="' align='left' width='48' height='48' hspace='5' />";    
    $neueergebnisse.=$json->results[$i]->from_user;
    $neueergebnisse.=" (ID: " .$json->results[$i]->from_user_id .")<br/>";    
    $neueergebnisse.="<strong style='font-size:20pt;'>";
    $neueergebnisse.=utf8_decode($json->results[$i]->text)."</strong>";
    $neueergebnisse.="<br/>";    
    $neueergebnisse.="Datum: ". $json->results[$i]->created_at;
    $neueergebnisse.=" (Tweet-ID: " . $json->results[$i]->id_str.")";    
    $neueergebnisse.="<hr/>";
}

// Alte Ergebnisse aus Session holen
// besser wäre hier u. U. Speicherung in einer Datenbank
if (isset($_SESSION['altetreffer'])) {
    $altetreffer=$_SESSION['altetreffer'];
} else {
    $altetreffer="";
}

// Alte und neue zusammenfügen und in Session legen
$alletreffer=$neueergebnisse . $altetreffer;
$_SESSION['altetreffer']=$alletreffer;

?>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Twitter-Wall Tutorial</title>
<?php
// optimal wäre eine Ajax-Lösung, aber hier ganz einfach
// mit einem Refresh alle 60 Sekunden (Achtung: Rate Limit!)
?>
<meta http-equiv="refresh" content="60; URL=Twitterwall-Tutorial.php">
</head>
<body>
<h1>Twitter-Wall für #<?php echo $hashtag ?></h1>
Anzahl neuer Treffer: <?php echo count($json->results); ?>
am <?php echo date("d.m.Y H:m:i"); ?> Uhr
<hr/>
<?php echo $alletreffer; ?>
</body>
</html>

P.S.

Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne  – einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstmöglich. Unternehmen, die Unterstützung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management benötigen finden zudem entsprechende Angebote meiner Firma auf der Website www.Frank-IT-Beratung.de

Dieser Beitrag wurde unter API, PHP, Programmierung, Social Networks, Twitter abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Ein Kommentar zu Eine einfache Twitter-Wall mit PHP im Eigenbau

  1. Sorry, auch dieser Artikel war versehentlich einige Tage „unsichtbar“ und ist jetzt wieder online!

Kommentar verfassen