Twitter mit PHP und OAuth
geschrieben von Pawel
Twitter entwickelt sich weiter. Ab dem Sommer 2010 erfordert die Nutzung der API eine Authentifizierung mittels OAuth. Dadurch ist die Einbindung von Tweets nicht mehr so einfach, wie in diesem alten Artikel beschrieben.
Es ist immer nötig seine Anwendung bei Twitter zu registrieren, um die benötigten 4 Schlüssel zu bekommen. Glücklicherweise hat sich Tijs Verkoyen Gedanken gemacht und eine kompakte PHP-Klasse zur Verfügung gestellt, die uns die Hauptarbeit abnimmt. Beim folgenden Code-Beispiel wird ein beschreibbares Cacheverzeichnis erwartet. Das ist sinnvoll, da die Anzahl der Abfragen an den Twitterdienst beschränkt sind.Die genaue Struktur der gelieferten Daten entnimmt man am Besten der Twitter-Dokumentation.
Codebeispiel (liefert eine Liste der letzten 5 Einträge)
//Variables for OAuth Authentification
$consumer_key = 'yourconsumerkey';
$consumer_secret = 'yourconsumersecret';
$token = 'yourtoken';
$token_secret = 'yourtokensecret';
//Count of the Tweets
$count = 5;
// create instance
$twitter = new Twitter($consumer_key, $consumer_secret);
// set tokens
$twitter->setOAuthToken($token);
$twitter->setOAuthTokenSecret($token_secret);
// get users timeline
$cacheFile= $_SERVER['DOCUMENT_ROOT'].'/test/cache/cache.txt';
if(!file_exists($cacheFile) || filemtime($cacheFile) < time() -40)
{
$response = $twitter->statusesUserTimeline();
file_put_contents($cacheFile, serialize($response));
}
else{
$response = unserialize(file_get_contents($cacheFile));
}
echo "<ul>";
for($i = 0; $i < $count; $i++)
{
echo "<li><img src=\"".$response[$i][user][profile_image_url]."\" alt=\"Twitterbild von ".$response[$i][user][name]."\" />";
echo preg_replace('/(http:\/\/[^ ]+)/', '<a href="$1">$1</a>', utf8_decode($response[$i][text]));
echo "</li>";
}
echo "</ul>";
Damit ist die Einbindung von Tweets (fast) so einfach, wie früher
Kategorie: PHP | Trackbacks (0) | Permalink