
ヘルプのリンクが23文字は間違い
Twitterのヘルプの「ツイートでリンクを送信する方法」には「あらゆる長さのリンクが23文字に変換されます」と書かれている。
https://help.twitter.com/ja/using-twitter/how-to-tweet-a-link
普段からTwitterを使い慣れている人にはわかるがリンクが23文字に変換されるというのは間違っている。
正しくは「11.5文字に変換される」
リンクが11.5文字か確認する
リンクが11.5文字か確認するために以下のようなサンプルのテキストを作成した。
iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp iwb.jp 12345678
「iwb.jp 」はリンク11.5文字 + 半角スペース0.5文字で12文字。
これが11個あるので「12 * 11」で132文字。
「12345678」は全角数字で8文字なので132文字 + 8文字で140文字ちょうどとなる。
残り文字数に余裕があるが送信できないバグ
Twitterにはリンクに変換されていなくてもリンクと判定されるバグがあるので注意が必要。
例えば「テキストが入ります。」という10文字のテキストを13個入れたあとiwb.jpを入力すると10+13+2.5文字で132.5文字となり、切り上げて残り文字数は7文字と表示されるので送信できるはずだが、ツイートボタンを押すと…
「問題が発生しました。やりなおしてください。」と表示されてツイートが送信できない。
テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。iwb.jp
ここまで読んだ方は察したと思うが、実はiwb.jpなどのドメインが含まれている場合はリンクに変換されず送信前は2.5文字でもツイートするを押したあとに11.5文字と再計算されるため130文字+11.5文字の141.5文字と判定されてツイートできなくなってしまう。
もし文字数が140文字を超えていないのにツイートするを押した際に「問題が発生しました。やりなおしてください。」などと表示された場合はドメインが11.5文字で計算されてツイート時に140文字超えと判定されてエラーとなっている可能性が高いので文章にドメインが含まれていないか確認するとよいだろう。