X API のあらゆるオブジェクト (投稿、ユーザー、リスト、DM、スペース) には一意の ID が割り当てられています。これらの ID の仕組みを理解することで、信頼性の高い統合を構築できます。
X の ID は、「Snowflake」と呼ばれるシステムで生成される 64 ビット符号なし整数 です。各 ID には次の情報がエンコードされています。
- Timestamp — オブジェクトが作成された時刻
- Worker number — どのサーバーがその ID を生成したか
- Sequence number — そのミリ秒内での順序
そのため、ID はおおよそ時間順になっており、より大きな ID は一般的に新しいオブジェクトを表します。
ID は、単一のオブジェクト type 内だけでなく、X 全体でグローバルに一意です。
コード内では常に文字列のidを使用してください。 一部のプログラミング言語 (JavaScript など) は 64 ビット整数を正確に表現できません。
JavaScript では、整数は 53 ビットに制限されています。このため、大きな id では精度が失われます。
データベースでは id を文字列または 64 ビット整数として保存することを推奨します:
時系列順に並べる目的で id を比較する場合:
Data Dictionary
各オブジェクトの種類ごとの ID フィールドを確認できます。