タイトル: Twitter API
TwitterのAPIに関する記事です。プログラムからツイートを投稿したり、タイムラインを取得したりするための公式インターフェースです(現在は X API として運営)。
子ページから項目を選択して下さい。
Twitter (ツイッター) とは?
Twitterとは短いコメントを手軽に投稿できますSNSです。
このコメントを投稿する機能をTwitterではtweet(ツイート)といいます。2023年以降サービス名は「X」、APIも「X API」として運営されていますが、本記事ではAPI仕様の歴史的経緯を踏まえて「Twitter API」として記載します。
本ページの子ページ一覧
- APIにアプリケーションを登録する — Developer Portal でのアプリ登録とAPIキー取得
- ツイートできないにもかかわらずエラー内容が出力されない場合 — 文字数超過などサイレント失敗の切り分け
- エラー一覧 — 主要エラーとHTTPステータス
API v1.1 と v2 / X API
| 世代 | 状況 |
|---|---|
| API v1.1 | 長年使われたエンドポイント。多くの古い記事はこちらが前提 |
| API v2 | 2020年代前半に主流化 |
| X API(2023〜) | 有料化+無料枠縮小。Free/Basic/Pro/Enterpriseの段階制 |
新規開発で API を使う場合は、料金プランと利用上限を必ず公式ドキュメントで確認してください。
主な利用シーン
- 自動ツイート — ブログ更新通知、定期投稿
- タイムライン取得 — キーワード検索結果の収集
- OAuth認証 — Twitterログインを自前サービスに組み込み
- DMの自動応答 — 簡易チャットボット
- 分析・モニタリング — 言及件数や反応の集計
認証方式
| 方式 | 用途 |
|---|---|
| OAuth 1.0a(User Context) | ユーザー本人としての投稿・操作 |
| OAuth 2.0 Bearer(App-Only) | 公開情報の参照、サーバー間処理 |
| OAuth 2.0 PKCE | v2でのユーザー認可。モバイルアプリ等 |
必要なキー・トークン
- API Key / API Key Secret — アプリ識別
- Access Token / Access Token Secret — ユーザー権限
- Bearer Token — App-Only API用
典型的な実装例(PHP TwitterOAuthライブラリ)
|
use Abraham\TwitterOAuth\TwitterOAuth; |
注意点
- レートリミット: 全エンドポイントに制限あり。HTTP 429のレスポンスを必ずハンドリング
- 無料枠の制限: 2023年以降 Free プランの投稿数等が大幅に制限されている
- X API の仕様変更: エンドポイント・料金が頻繁に変わる。本番運用時は最新の公式情報を確認
- APIキーの管理: コードや公開リポジトリに含めない。環境変数や Secret Manager で管理
- OAuth 1.0a の署名計算: 自前実装は難しいので、TwitterOAuth等のライブラリ利用が現実的