PythonによるBlogger自動投稿CLIツールの実装

公開日: 2026年7月27日

AIエージェント Blogger Blogger API Python テック・効率化

ブログを運営していると、「手元のMarkdownやHTMLファイルをWebエディタを開かずにそのままアップロードしたい」「他のプログラムと連携して自動投稿したい」と思うことはありませんか?

今回は、Google Blogger API v3を利用して、ターミナルから簡単にBloggerへ記事を投稿できるPythonツール「Blogger_post」を作成する方法を解説します。

ターミナルからBloggerへ記事が自動投稿されているイメージ図

【ソースコードの公開について】

本ツールのソースコードは、GitHubでオープンソースとして公開しています。手元で動かしてみたい方はぜひクローンしてご利用ください。

👉 https://github.com/tai1mo/blogger-cli-mcp

はじめに:Bloggerへの投稿を自動化するメリット

Blogger標準のWebエディタは、見出しの設定やHTMLコードの挿入など、少し煩わしい操作が必要です。コマンドラインから直接投稿できるようになれば、お気に入りのエディタで書いた原稿をスクリプト一発でアップロードでき、日々の執筆における摩擦を大幅に削減できると考えています。

ツールの主な機能と特徴

今回作成する「Blogger_post」は、単なる使い捨てのスクリプトではなく、拡張性を考慮して設計しています。

  • CLIとモジュールの両対応:ターミナルから直接実行できるだけでなく、他のPythonスクリプトから post_article 関数としてインポート可能です。
  • 柔軟な本文指定:短い文章は引数として直接渡し、長い記事はHTMLファイルを読み込ませることができます。
  • ステータスとラベル管理:下書き(draft)か即時公開(live)かを選べ、カンマ区切りで複数のラベルを付与できます。
  • 堅牢なエラーハンドリング:OAuth認証のタイムアウト、ネットワーク切断、権限エラーなどを細かく検知し、日本語で分かりやすい対処法を提示します。

セットアップ手順(Blogger API v3とOAuth認証)

ツールを使用するには、Google CloudでAPIを有効化し、認証情報を取得する必要があります。

  1. APIの有効化:Google Cloud Consoleでプロジェクトを作成し、「Blogger API v3」を検索して有効化します。
  2. 認証情報の取得:APIとサービスの「認証情報」から、「OAuth 2.0 クライアント ID(デスクトップアプリ用)」を作成し、ダウンロードしたJSONファイルをスクリプトと同じディレクトリに client_secret.json として保存します。
  3. 環境変数の設定:同ディレクトリに .env ファイルを作成し、BLOG_ID=あなたのブログID を記述します。(ブログIDはBlogger管理画面のURLに含まれる数字列です)

*(注意: client_secret.json.env は機密情報です。絶対にGitなどで公開しないでください)*

使い方(コマンドライン編)

準備ができたら、ターミナルからコマンドを実行します。初回実行時はブラウザが立ち上がり、Googleアカウントでのアクセス承認が求められます。承認後は token.json が生成され、次回以降は自動で認証がパスされます。

▼ 基本的な投稿(下書き保存)

python blogger_post.py \
  --title "テスト投稿のタイトル" \
  --content "<h1>テスト</h1><p>これはテスト投稿です。</p>"

▼ HTMLファイルから読み込んで即時公開

python blogger_post.py \
  --title "ファイルから読み込んだ記事" \
  --file "path/to/article.html" \
  --status live

使い方(モジュール編)

このツールの強みは、他の自動化スクリプトに簡単に組み込める点です。別のPythonファイルから以下のように呼び出すことができます。

from blogger_post import post_article

url = post_article(
    title="APIからの自動投稿",
    content="<p>スクリプトから投稿しています。</p>",
    labels=["Python", "自動化"],
    status="draft"
)
print(f"投稿完了: {url}")

まとめ

「Blogger_post」を使うことで、日々のブログ投稿の手間を大幅に削減できます。そして、この「モジュールとして呼び出せる関数」を用意したことで、後続の自動化への大きな布石となります。コマンドラインからのBlogger自動投稿環境をぜひ試してみてください。

QooQ Dot designed by tai1/Original theme designed by QooQ