Twitter-API: Mehr als 140 Zeichen? So vermeidet man Tweet-Längen Rechenfehler

140Wer denkt, man könnte mit einem einfachen strlen($message)<=140 erfolgreich prüfen, ob eine Tweet, dass man über die Twitter-API verschicken möchte, nicht zu lang ist, hat sich getäuscht: Bisher war das viel komplizierter, aber jetzt wird es erfreulicherweise etwas einfacher: Hatte man bisher an ein Tweet ein Bild angehängt, so durfte der Text aus maximal 118 Zeichen bestehen (etwas vereinfacht gesagt, Details siehe unten).

Seit einigen Tagen hat sich dies nun geändert und auch Tweets mit Bildern oder Videos dürfen aus 140 Zeichen bestehen. In den Medien führte das teilweise zu etwas verwirrenden Meldungen:

Spiegel Online titelte beispielsweise „Twitter erlaubt etwas mehr als 140 Zeichen“ – was nicht ganz stimmt (obwohl es dann in dem Artikel mehr oder weniger richtig erklärt ist). Ein Tweet besteht weiterhin aus maximal 140 Zeichen, jedoch sind Tweets mit Bildern nicht mehr auf 118 Zeichen beschränkt.

Zudem werden bei Replys der „@Username“ zu Beginn eines Tweets nicht mehr mitgezählt – aber nur bei Replys! Anders als vielerorts zu lesen ist es bei einem „neuen“ Tweet, der mit einem @Username beginnt, nicht so, d.h. hier zählen die Anzahl der Zeichen mit. Also hat folgende Tweet

$message=“@Simon_A_Frank Hallo Welt“;

als „neuer“ Tweet 25 Zeichen, als „Reply“ nur 12 Zeichen. Eigentlich sind „Hallo Welt“ nur zehn Zeichen, aber das erforderliche Leerzeichen zwischen Usernamen und Text zählt hier mit.

Auch Tweets mit Links sind weiterhin etwas schwieriger zu berechnen:

$tweet1=“Hallo Welt: www.frank-it-beratung.com/blog/“;

$tweet2=“Hallo Welt: www.frank-it-beratung.com“;

Der String  $tweet1 besteht aus 43 Zeichen, die Twitter API zählt jedoch nur 35 Zeichen. Und auch der 2. Tweet, der aus 37 Zeichen besteht, wird von der Twitter-API mit 35 Zeichen berechnet! Ursache dafür ist der URL-Shortener „t.co“ von Twitter, der automatisch zum Einsatz kommt. Dadurch zählen alle Links – egal wie lang – aktuell ungefähr 23 Zeichen (Details siehe Link unten). Das ist nicht immer praktisch: Folgende Tweet, der eigentlich nur aus 25 Zeichen besteht, wird von der Twitter API ebenfalls mit 35 Zeichen „berechnet“:

$tweet3=“Hallo Welt: www.google.de“;

Obwohl das Link „www.google.de“ aus 13 Zeichen besteht, berechnet Google dafür 23 Zeichen… verrückt? Nein, das hat schon alles seinen Sinn und ist z. B. hier bei Twitter Dev nachzulesen:

https://dev.twitter.com/overview/t.co

Weitere Probleme beim „Zählen“ der Zeichen können noch durch das Encoding (insbesondere von Sonderzeichen, z. B. Umlauten im Deutschen) entstehen. Details dazu sind hier nachzulesen:

https://dev.twitter.com/overview/api/counting-characters

Auch empfehlenswert: Das bereits im Mai 2016 erschienen Blogpost von Twitter zu der „neuen“ 140-Zeichen-Thematik:

https://blog.twitter.com/2016/doing-more-with-140-characters

 

Dieser Beitrag wurde unter API, Twitter, Webprogrammierung veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen