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
.