Twitter-API: Die Schneeflocke kommt mit Verspätung
Kommentare

Vor einiger Zeit bereits berichteten wir über eine Umstellung der Status-IDs bei Twitter. Snowflake sollte aus dem Timestamp, einer Worker Number und einer Sequence Number eine einzigartige 64-Bit-Unsigned-Integer-Status-ID

Vor einiger Zeit bereits berichteten wir über eine Umstellung der Status-IDs bei Twitter. Snowflake sollte aus dem Timestamp, einer Worker Number und einer Sequence Number eine einzigartige 64-Bit-Unsigned-Integer-Status-ID generieren. Schliesslich wird weiterhin fröhlich gezwitschert, eindeutige IDs sind also unerlässlich.

Am 26. November werden Status-IDs die Länge von 53 Bit überschreiten. Was im Prinzip also eine gute Idee war, hat schnell Probleme aufgezeigt, mit denen Anfangs niemand gerechnet hat: JavaScript zum Beispiel unterstützt keine Zahlen mit einer Länge größer als 53 Bit. Doch nicht nur JavaScript, sondern auch einige JSON-Parser sind davon betroffen. Um zu überprüfen ob man Schwierigkeiten bekommt, kann man mit folgendem Code seinen Parser überprüfen: {„id“: 10765432100123456789, „id_str“: „10765432100123456789“}. Kommt es zu Abweichungen oder gar einer Exception, sollte man die in der offiziellen Ankündigung angegebenen Schritte unternehmen.

Denn diese Problematik hat jetzt auch Auswirkungen auf die JSON-Responses des Twitter-, Streaming- und des Search-APIs. Darin werden ab kommenden Freitag (22. Oktober) neben den Werten id auch die Werte id_str ausgegeben. Was zu tun ist, fasst Matt Harris wie folgt zusammen:

* If your code converts the ID successfully without losing accuracy you are OK but should consider converting to the _str versions of IDs as soon as possible. * If your code has lost accuracy, convert your code to using the _str version immediately. If you do not do this your code will be unable to interact with the Twitter API reliably. * In some language parsers, the JSON may throw an exception when reading the ID value. If this happens in your parser you will need to ‚pre-parse‘ the data, removing or replacing ID parameters with their _str versions.Matt Harris, 2010

Wer also mit selbst geschriebenen Tools oder Skripten mit dem Twitter-API in Kontakt tritt, sollte sich diesen Hinweis des Teams zu Herzen nehmen.

Snowflake wird übrigens am 4. November gestartet; but at ~41bit length.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -