*当サイトはプロモーション広告が含まれます

【X API】Your Tweet text is too longの対処法

X APIを使っているとたまに困るのが、文字数オーバーです

X上でのカウントは、URLの短縮や特定の文字(例えば絵文字)の扱いなど特別なルールがあるので、単純に数えた文字数とはカウントが合いません

そのため、文字数オーバーしないようにメッセージを切り詰める時はプログラム上でちょっとした工夫が必要になります

今回は、そんな時に役立つ方法をご紹介します

ライブラリを利用する

実は、X上でのカウント数を調べるためのライブラリが公式から提供されていました

GitHub - twitter/twitter-text: Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform.
Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be...
  • Java
  • Ruby
  • JavaScript

などいくつかの言語に対応してくれています

ちなみに公式ではないですが、Pythonにも使えるライブラリが提供されていました

作成者の方々に感謝です✨

使用方法

今回はJavaScriptで紹介していきます

[スクリプト]

// モジュールをインポートする
import twitterText from 'twitter-text';

// ツイートのテキスト
const tweetText = 'english text 日本語 😷 https://example.com'

// ツイートを解析する
const parsedTweet = twitterText.parseTweet(tweetText);

// 解析結果をログに出力する
console.log(parsedTweet);

[出力]

{
  weightedLength: 46,
  valid: true,
  permillage: 164,
  validRangeStart: 0,
  validRangeEnd: 38,
  displayRangeStart: 0,
  displayRangeEnd: 38
}

有効なテキストかどうか(valid)、X上でのカウント数(weightedLength)などが確認できます

後はこの値を元にプログラム上でテキストを切り詰めれば対処できそうですね🙌

コメント

タイトルとURLをコピーしました