Die twitpocalypse hat auch uns erwischt. Unsere Angebote wahl.de und twallr rufen twitter-Daten via JSON ab. Und genau hier schlägt der twitter-Zählfehler zu. Wir haben folgende schnelle, einfach zu implementierende PHP-Lösung gefunden.
Neben vielen anderen Apps und Services hat auch uns der aktuelle twitter-Bug getroffen.
Das Problem dabei in Kurzform: twitter zählt jede Statusmeldung mit einer eindeutigen Zahl. Diese hat das Format int und kann maximal die Zahl 2,147,483,647 darstellen. Diese Zahl hat twitter letzte Nacht vergeben - und damit einen großen Stein ins Rollen gebracht. Im Ergebnis lassen sich z.B. tweets nicht mehr eindeutig zuordnen bzw. die Zahl kann nicht korrekt interpretiert werden
Bugfix für die twitter Status-Zählung
Der schnelle Bugfix für die twitpocalypse ist simpel und doch effektiv:
In JSON als Integer gekennzeichnete Werte werden mit einem Bezeichner-Präfix "id" zu einem String umgewandelt und die auf tweet-ids verweisende Datenbank Spalte auf varchar 20 umgestellt.
twitpocalypse PHP twitter api Lösung
$feed_str = file_get_contents("http://twitter.com/statuses/user_timeline/USERNAME.json?count=100"); $feed_str = preg_replace( array('/id\"\:([0-9]+)\,/mix'), array('id":"$1",'), $feed_str ); print $feed_str;
In Kurzform funktioniert das dann so:
preg_replace('/id\"\:([0-9]+)\,/mix','id":"$1",',file_get_contents("JSON-URL"));
Bei uns funktioniert es, auch rückwirkend, z.B. auf www.wahl.de/aktivitaet
Kommentare
Kommentar hinzufügen