Skip to content

ADM-009 Xツイートまとめ(設定)管理画面 ​

概要 ​

  • X API Bearer Token、およびユーザータイムライン用の X ユーザー一覧(ユーザー名・論理名)を WordPress Settings API で管理する画面。
  • Gemini API キーは ADM-032 で管理する。
  • twitter-summary メニュー配下のサブメニュー(page slug: twitter-summary-settings)。
  • X API 接続テストは admin-ajax で提供する。

外部インターフェース ​

管理画面 URL ​

項目値
URL/wp-admin/admin.php?page=twitter-summary-settings
メニュー名設定(親: Xツイートまとめ)
権限manage_options

フォーム POST(Settings API) ​

  • POST /wp-admin/options.php
  • settings_fields( TwitterSummarySettingsPage::OPTIONS_GROUP ) により隠しフィールドが出力される。option_page は mycustom_twitter_summary_settings(TwitterSummarySettingsPage::OPTIONS_GROUP)。画面表示用の管理メニュー page クエリは twitter-summary-settings(TwitterSummarySettingsPage::PAGE_SLUG)。
  • register_setting はいずれも第 1 引数に mycustom_twitter_summary_settings(OPTIONS_GROUP)を指定し、オプション名は次のとおり。
    • mycustom_twitter_summary_secret_bearer(Bearer Token)
    • mycustom_twitter_summary_users(ユーザー行配列。保存時に空行削除・削除チェック行除去)
    • mycustom_twitter_summary_daily_auto_insert(日別記事自動挿入)

admin-ajax(HTTP 契約) ​

すべて POST /wp-admin/admin-ajax.php。nonce は twitter_summary_settings で検証。

action 値説明
twitter_summary_test_twitterX API 接続テスト

twitter_summary_test_twitter は X API の従量課金を踏まえ、サーバー側クールダウン(成功時 60 秒、402 時 5 分、429 時 15 分)を適用する。クールダウン中は JSON エラーで message と cooldown_seconds を返す。成功時も cooldown_seconds を含める。

エラー ​

条件ユーザー向け挙動メッセージ / ログ
nonce 不正JSON エラー認証失敗
Bearer 未設定JSON エラーTwitterSummaryMessages::TOKEN_MISSING 等
X API 連打防止クールダウンJSON エラーTwitterSummaryMessages::API_COOLDOWN。cooldown_seconds 付き
X API 402 / 429JSON エラークレジット不足またはレート制限メッセージ。cooldown_seconds 付き
接続失敗JSON エラー+ログ[TwitterSummarySettingsPage][ajax_test_*]