予約投稿の完了表示が出た後、指定時刻を過ぎてもXの公開画面には投稿がありませんでした。AIの画面内報告を成功条件にせず、外部のX上に投稿が存在するかを確認する方式へ変えました。
ブラウザー投稿を繰り返さずAPI方式へ切り替え、8ファイル・711行の土台を作りました。本番自動投稿は未完成です。
ブラウザー投稿の失敗を一つの時系列で確認した
- 投稿ボタン直前まで進んでも最終送信が制限された
- 予約投稿完了と報告されたが、指定時刻後も公開画面に投稿がなかった
- 再試行では内容が無効という表示が出た
- 通常ブラウザーで手動操作した場合は投稿できた
ここで、操作画面の完了と外部サービス上の公開を別の結果として扱いました。
成功条件をXの外部状態へ変えた
成功と記録する条件を、予約一覧に対象があること、再読み込み後も状態が残ること、指定時刻後に公開画面で投稿を確認できることへ変更しました。
「エラーが出なかった」「完了と表示された」は条件から外しました。外部に投稿が存在しなければ、送信成功とは扱いません。
同じ再試行を止めAPI方式へ切り替えた
不安定なままブラウザー操作を続けると、未投稿を完了扱いしたり、意図しない重複投稿を起こしたりする可能性があります。そこで公式APIを使う設計へ変更しました。
目的はすぐ本番投稿することではなく、送信前の検証、ドライラン、重複防止、実行ログを自分で確認できる土台を作ることです。
8ファイル・711行はテスト基盤として作った
作成記録
- 構成:8ファイル
- 追加行数:711行
- 標準動作:送信しないドライラン
- 本番送信:明示指定時だけ動く設計
- 現在の実ファイル行数:要店長確認
使い方、認証情報の見本、投稿CSV、共通処理、入力検証、ドライラン、当日投稿、実行ログを分けました。コード作成と本番送信は別工程です。
認証情報と本番未完成を隠さない
設定中に認証情報が見える状態になったため、その情報を使い続けず再発行する判断をしました。記事には実際の値を残していません。現在の再発行状況は店長確認が必要です。
Python実行、API認証、1件の本番送信、外部公開確認、定刻実行は未完了です。8ファイル・711行を作ったことを「自動投稿完成」とは扱いません。
