この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:atom
更新日時:2026-06-10 06:41:14

タイトル: Twitter API

TwitterのAPIに関する記事です。プログラムからツイートを投稿したり、タイムラインを取得したりするための公式インターフェースです(現在は X API として運営)。

子ページから項目を選択して下さい。

Twitter (ツイッター) とは?

Twitterとは短いコメントを手軽に投稿できますSNSです。

このコメントを投稿する機能をTwitterではtweet(ツイート)といいます。2023年以降サービス名は「X」、APIも「X API」として運営されていますが、本記事ではAPI仕様の歴史的経緯を踏まえて「Twitter API」として記載します。

本ページの子ページ一覧

API v1.1 と v2 / X API

世代状況
API v1.1長年使われたエンドポイント。多くの古い記事はこちらが前提
API v22020年代前半に主流化
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 PKCEv2でのユーザー認可。モバイルアプリ等

必要なキー・トークン

  • API Key / API Key Secret — アプリ識別
  • Access Token / Access Token Secret — ユーザー権限
  • Bearer Token — App-Only API用

典型的な実装例(PHP TwitterOAuthライブラリ)

use Abraham\TwitterOAuth\TwitterOAuth;

$connection = new TwitterOAuth(
    $apiKey, $apiKeySecret, $accessToken, $accessTokenSecret
);

$result = $connection->post('statuses/update', ['status' => 'Hello, world']);
if ($connection->getLastHttpCode() != 200) {
    error_log('Tweet failed: ' . print_r($result, true));
}

注意点

  • レートリミット: 全エンドポイントに制限あり。HTTP 429のレスポンスを必ずハンドリング
  • 無料枠の制限: 2023年以降 Free プランの投稿数等が大幅に制限されている
  • X API の仕様変更: エンドポイント・料金が頻繁に変わる。本番運用時は最新の公式情報を確認
  • APIキーの管理: コードや公開リポジトリに含めない。環境変数や Secret Manager で管理
  • OAuth 1.0a の署名計算: 自前実装は難しいので、TwitterOAuth等のライブラリ利用が現実的

関連