note.com 複数アカウント自動投稿ツール
公式APIのないnote.comの内部エンドポイントを解析し、複数アカウントでの下書き保存・公開・ハッシュタグ・アイキャッチを自動化するCLIツール。
Duration
短期開発
Team
1名
01 // OVERVIEW
プロジェクト概要
note.comに公式APIが存在しないため、WebフロントエンドのHTTPトラフィックを解析して内部エンドポイントを特定し、Pythonで操作するCLIツール。
複数アカウントを1リポジトリで管理することを前提とし、cookieのアカウント取り違えを検出する安全機構と、下書き・公開・ハッシュタグ・アイキャッチをまとめて扱う投稿機能を実装している。
02 // KEY FEATURES
主な機能
アカウント取り違えの自動検出
cookie取得時に/v2/current_userエンドポイントで「誰のcookieか」を確認し、config.jsonのnote_idと一致しなければ保存を拒否する。複数アカウント運用で最も起きやすい投稿先の間違いを防ぐ。
下書き保存・公開・ハッシュタグ・アイキャッチ
Markdownのフロントマターで記事タイトル・ハッシュタグ・アイキャッチ画像・公開予定日・有料設定を管理。下書き保存と公開(--publish)をコマンド一本で実行でき、全項目の動作を実機で検証済み。
複数アカウントとcron投稿
accounts/<name>.jsonにアカウントごとのcookieを分離管理し、note_cron.pyが指定日以降の記事を自動投稿する。環境変数NOTE_COOKIE_<アカウント名>でCI/CDからも扱える。
03 // TECHNICAL DEEP-DIVE
技術的ハイライト
Solution
非公開エンドポイントの変更リスクへの対処
内部エンドポイントは予告なく変わりうるため、他のOSS実装(MIT)を参考にしてHTTPリクエストの形を把握し、壊れたときに自分で直せる範囲に意図的に留めた設計としている。
04 // IMPACT & RESULTS
成果
検証済み
下書き保存・公開・ハッシュタグ・アイキャッチ全て実機確認
取り違え防止
アカウント不一致のcookieは保存拒否
複数アカウント
1リポジトリで管理