Skip to content

Xツイートまとめ 機能セットアップ ​

「Xツイートまとめ」機能を動作させるには、以下の準備が必要です。

必要なもの ​

項目用途
X API Bearer TokenX(Twitter)からツイートを取得する
Gemini API KeyGoogle Gemini でツイートを要約する(ADM-032)

1. X API Bearer Token の取得 ​

1-1. X Developer Portal へ登録 ​

  1. X Developer Portal にアクセス
  2. X(Twitter)アカウントでサインイン
  3. 利用規約に同意して Developer アカウントを申請・有効化

1-2. プロジェクトとアプリを作成 ​

  1. 左メニュー「Projects & Apps」→「Overview」→「+ Add App」をクリック
  2. アプリ名を入力(例: slot-kouryaku-summary)
  3. 用途の質問に答えて作成を完了

1-3. Bearer Token を発行 ​

  1. 作成したアプリの「Keys and tokens」タブを開く
  2. 「Bearer Token」欄の「Generate」または「Regenerate」をクリック
  3. 表示されたトークン(AAAAAAA... の形式)をコピーして、パスワードマネージャなどの安全な場所に保管してください。
    • Git で追跡されるファイルに直接書き込まない(.gitignore で除外しているローカル用 env(例: .localenv)への記載は問題ありません)
    • タスク / PR / チケット / チャットツール(Slack 等)に貼り付けて共有しない
    • 画面キャプチャ(スクリーンショット)や画面共有でトークンが映り込まないようにする
    • ログやコンソール出力にトークンを出力しない

注意: Bearer Token は一度しか表示されません。紛失した場合や、GitHub・チャット等に誤って投稿してしまった場合は、必ず「Regenerate」で再発行し、古いトークンは速やかに無効化してください。

必要な API アクセスレベル ​

この機能は X API v2 の以下のエンドポイントを使用します:

エンドポイント用途必要な Access Level
GET /2/tweets/search/recentキーワード検索Basic 以上
GET /2/users/by/username/:usernameユーザー名 → ID変換Free 以上
GET /2/users/:id/tweetsユーザータイムライン取得Free 以上

注意: 無料プラン(Free)では tweets/search/recent(キーワード検索)が利用できません。キーワード検索を使う場合は Basic プラン以上が必要です。


2. Gemini API Key の取得 ​

2-1. Google AI Studio へ登録 ​

  1. Google AI Studio にアクセス
  2. Google アカウントでサインイン
  3. 「Create API key」でキーを発行する

2-2. API Key を保管 ​

表示された API Key をコピーして、パスワードマネージャなどの安全な場所に保管してください。

  • Git で追跡されるファイルに直接書き込まない(.gitignore で除外しているローカル用 env(例: .localenv)への記載は問題ありません)
  • タスク / PR / チケット / チャットツール(Slack 等)に貼り付けて共有しない
  • 画面キャプチャ(スクリーンショット)や画面共有でキーが映り込まないようにする
  • ログやコンソール出力にキーを出力しない

注意: キーが漏えいした場合は、Google AI Studio / Cloud Console で無効化し、新しいキーを発行してください。

使用モデル ​

サイト内 LLM(記事 AI・X 要約)は Gemini 固定です。既定モデルは gemini-2.5-flash(有料記事 AI 設定 ADM-028 で変更可)です。


3. WordPress への設定 ​

ローカル環境でも利用できます。 ローカルの WordPress(例: Local by Flywheel)でテーマを有効にし、以下の管理画面でキーを登録すれば、ツイート取得・要約・下書き保存まで同じ手順で試せます。

3-1. デプロイ(新規環境の場合) ​

本番環境に初めてデプロイする場合は、通常のデプロイ手順を実行してください。

bash
./bin/build.sh

3-2. DI キャッシュの削除 ​

core_src/config/di.php に新しいバインディングが追加されたため、キャッシュを削除して再生成させます。

プロジェクトルートから以下のスクリプトを実行してください:

bash
./bin/clear-php-di-cache.sh

本番環境など wp-content が標準パスにない場合は、環境変数で指定します:

bash
WP_CONTENT_DIR=/path/to/wp-content ./bin/clear-php-di-cache.sh

3-3. WordPress 管理画面で API キーを登録 ​

  1. WordPress 管理画面にログイン
  2. 左メニュー「サイト運営ダッシュボード」→「LLM APIキー設定」(ADM-032)を開き、Gemini API Key を入力して保存
  3. 「Xツイートまとめ」→「設定」(ADM-009)を開き、「X API Bearer Token」を入力して保存
  4. 必要なら X ユーザー一覧も同設定画面で登録する

3-4. 接続テスト ​

  • ADM-009「X API テスト」: Bearer Token が正しければ成功メッセージを表示
  • ADM-032「Gemini 接続テスト」: Gemini API Key が正しければ成功メッセージを表示

4. 動作確認(4ステップUIに沿ったフロー) ​

  1. Step 1: ツイートを取得(取得)
    • 管理画面「Xツイートまとめ」のメインページを開く
    • 検索方法(ユーザータイムライン or キーワード検索)を選択
    • 検索クエリと取得件数を入力して「ツイートを取得」をクリック
  2. Step 2: ツイートを確認(プレビュー)
    • 取得したツイート一覧が期待どおりに表示されていることを確認する
  3. Step 3: 要約を生成(要約)
    • 必要に応じて対象ツイートの選択や除外を行い、「要約を生成」をクリック
    • 生成された要約本文を確認し、必要があれば編集する
  4. Step 4: 下書きを保存(下書き)
    • 記事タイトルを入力し「下書きを保存」をクリック
    • WordPress 管理画面の「投稿」→「下書き」に新しい記事が保存されていることを確認する

トラブルシューティング ​

API キーが設定されていないエラー ​

「Bearer Token が設定されていません」「Gemini API Key が未設定です」というエラーが表示される場合は、3-3. API キーの登録 の手順を確認してください。

X API 接続テストが失敗する ​

接続テストは ユーザータイムライン(@X のツイート取得)で行います。Bearer Token が正しくても、クレジット残高が 0 だと HTTP 402 で失敗します。

  • HTTP 401 Unauthorized の場合

    • 使用するトークン: 「Keys and tokens」の 「Bearer Token」 を使用してください。API Key and Secret や Access Token and Secret(OAuth 1.0a / OAuth 2.0 ユーザートークン)ではありません。
    • 再発行: Developer Portal で「Bearer Token」の Regenerate を実行し、表示されたトークンをその場でコピーして設定画面に貼り付け・保存してください(Bearer Token は 1 アプリあたり 1 本のため、再発行すると古いトークンは無効になります)。
    • プロジェクト・アプリ: 対象プロジェクトの Products で Free(または Basic)が付与されているか、アプリが停止・削除されていないか確認してください。
    • トークンの動作確認(curl): トークンが X API で有効かどうか、WordPress 外で確認できます。ターミナルで以下を実行し(YOUR_BEARER_TOKEN を実際のトークンに置き換え)、"id": が含まれる JSON が返ればトークンは有効です。401 が返る場合はトークンかアプリの設定を見直してください。
      bash
      curl -s -w "\nHTTP_CODE:%{http_code}" -H "Authorization: Bearer YOUR_BEARER_TOKEN" "https://api.twitter.com/2/users/by/username/X"
    • 接続テスト失敗時の詳細なエラー内容は、PHP エラーログ(error_log)の [TwitterFetchService] X API error: ... body= に出力されます。クレジット不足(402)とレート制限(429)は管理画面にも案内を表示します。
  • HTTP 402 Payment Required / credits depleted の場合

    • X API のクレジット残高が不足しています。Developer Portal の Billing / Credits でクレジットを追加してください。
    • 接続テストはユーザータイムライン取得を行うため、クレジットが必要です。残高が 0 のままだとテストも取得も失敗します。
    • 連打しても残高は増えません。管理画面側でも連続実行を制限しています。
  • HTTP 429 Too Many Requests の場合

    • X API のレート制限に達しています。
    • 15分ほど時間をおいてから再度ツイート取得を試してください。連続して取得を繰り返すと 429 になりやすいです。

Gemini API 接続テストが失敗する ​

  • LLM APIキー設定(ADM-032)で Gemini API Key が保存されているか確認してください
  • Google AI Studio で該当キーが無効化されていないか確認し、必要なら新規キーを発行して差し替えてください
  • 接続テストは ADM-032 の「Gemini 接続テスト」から実行します(ADM-009 にはありません)

管理画面に「Xツイートまとめ」メニューが表示されない ​

DI キャッシュが古い可能性があります。3-2. DI キャッシュの削除 の手順を実行してください。


関連: 記事 AI からの店舗調査 ​

同じ X API Bearer Token は、記事 AI の店舗調査ツール fetch_hall_x_posts でも使います。Grok(xAI)による調査ツールを含めた手順は 店舗調査(X API / Grok API)セットアップ を参照してください。


参考リンク ​