Appearance
ADM-009 Xツイートまとめ(設定)管理画面
概要
- X API Bearer Token、およびユーザータイムライン用の X ユーザー一覧(ユーザー名・論理名)を WordPress Settings API で管理する画面。
- Gemini API キーは ADM-032 で管理する。
twitter-summaryメニュー配下のサブメニュー(pageslug: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.phpsettings_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_twitter | X 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 / 429 | JSON エラー | クレジット不足またはレート制限メッセージ。cooldown_seconds 付き |
| 接続失敗 | JSON エラー+ログ | [TwitterSummarySettingsPage][ajax_test_*] |