Skip to content

ADM-008 Xツイートまとめ(メイン)管理画面

概要

  • X ツイートの検索・取得、要約生成、下書き投稿作成、取得結果の保存・読込・削除などを 複数ステップの UI で行う管理画面。
  • WordPress トップレベルメニュー(add_menu_page)として登録。page slug は twitter-summary。操作の多くは admin-ajax 経由。
  • Bearer Token / Claude API Key は ADM-009(設定画面)で管理するオプションを参照する。

外部インターフェース

管理画面 URL

項目
URL/wp-admin/admin.php?page=twitter-summary
メニュー名Xツイートまとめ
権限画面表示・多くの AJAX: manage_options。下書き投稿作成のみ publish_posts

admin-ajax(HTTP 契約)

すべて POST /wp-admin/admin-ajax.php。nonce は POST パラメータ noncetwitter_summary_admin で検証(AdminAjaxNonceTrait)。

action説明主な権限
fetch_tweetsツイート検索取得。search_typeuser|keyword), search_query, max_resultsmanage_options
generate_summaryClaude 要約生成。tweets_json(JSON 文字列)manage_options
twitter_summary_create_post通常投稿の下書き作成。post_title, summary, tweet_ids(JSON 配列)publish_posts
twitter_summary_save_tweets取得ツイートの名前付き保存(オプションに永続化)manage_options
twitter_summary_list_saved_tweets保存済み一覧取得manage_options
twitter_summary_load_saved_tweets保存済みからツイート本文を復元manage_options
twitter_summary_delete_saved_tweets保存済み削除manage_options

POST パラメータの細目は TwitterSummaryAdminPage の各 ajax_* メソッドコメントを正とする。保存件数上限(保存メタデータ)は最大 20 件(超過時は古いものから削除しメッセージに反映)。

設定画面への導線

  • Twig に admin.php?page=twitter-summary-settings への URL を渡す(実際の slug は ADM-009 参照)。

エラー

条件ユーザー向け挙動メッセージ / ログ
nonce 不正JSON エラー認証失敗
Bearer 未設定JSON エラーTwitterSummaryMessages::TOKEN_MISSING
Claude キー未設定(要約時)JSON エラーTwitterSummaryMessages::CLAUDE_KEY_MISSING
X API 429 等JSON エラーレート制限メッセージまたは例外メッセージ
外部 API RuntimeExceptionJSON エラー+ログ[TwitterSummaryAdminPage][ajax_*]