Claude Code APIとPythonでWordPressとGoogleサービスを自動操作する仕組み
この記事でわかること
- Claude Code APIとは何か
- 全体の構成図
- WordPressへの投稿をPythonで行う
- Claude APIで記事を整形・強化する
- Googleサービスとの連携
- YouTube自動アップロード
Claude Code APIとPythonでWordPressとGoogleサービスを自動操作する仕組み
Claude CodeのAPIをPythonから呼び出し、WordPressへの投稿やGoogleサービスの操作を自動化する方法を解説します。「コマンド一発で複数のサービスを連携させる」という構成の全体像と、実装のポイントをまとめました。
Claude Code APIとは何か
Claude CodeはAnthropicが提供するCLIツールですが、裏側にはAnthropicのAPIが動いています。このAPIをPythonから直接叩くことで、Claude(AIアシスタント)をあなたのスクリプトの「頭脳」として組み込むことができます。
import anthropic
client = anthropic.Anthropic(api_key="YOUR_API_KEY")
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=2048,
messages=[
{"role": "user", "content": "この記事のタイトルを5案提案して"}
]
)
print(message.content[0].text)
Claudeに「文章を整える」「タイトルを考える」「SEOキーワードを抽出する」といった指示を出し、その結果を次の処理へ渡すのが基本的な流れです。
全体の構成図
[Obsidian メモ / テキスト素材]
↓ Python スクリプト起動
[Claude API] ← 記事整形・タイトル生成・SEO最適化
↓
[WordPress REST API] → 予約投稿・カテゴリ・タグ自動設定
↓
[Google サービス] → YouTube アップロード / Gmail 通知 / Google Drive 保存
各ステップをPythonで繋ぐことで、素材を用意するだけで公開まで自動化できます。
WordPressへの投稿をPythonで行う
WordPress には REST API が標準搭載されており、アプリケーションパスワードを使って外部から投稿できます。
import requests
WP_BASE = "https://yoursite.com/wp-json/wp/v2"
AUTH = ("username", "アプリケーションパスワード")
def post_to_wp(title, content, schedule_date):
payload = {
"title": title,
"content": content,
"status": "future", # 予約投稿
"date": schedule_date, # "2026-04-21T09:00:00"
"categories": [162], # カテゴリID
}
resp = requests.post(f"{WP_BASE}/posts", auth=AUTH, json=payload)
return resp.json()
ポイント
– status: "future" で予約投稿になる
– categories / tags はIDで指定
– アプリケーションパスワードは WordPress 管理画面 → ユーザー → プロフィールで発行
Claude APIで記事を整形・強化する
素材テキストをそのまま投稿するのではなく、ClaudeにSEO最適化や見出し整理を依頼します。
def enhance_article(raw_text):
client = anthropic.Anthropic()
prompt = f"""
以下のテキストをWordPress記事として整えてください。
- H2/H3見出しを適切に設置
- 箇条書きを活用して読みやすく
- SEOを意識したリード文を追加
テキスト:
{raw_text}
"""
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
これにより、メモ書きレベルの素材でも公開できるクオリティに自動で引き上げられます。
Googleサービスとの連携
YouTube自動アップロード
Google Cloud Console でOAuth2認証を設定し、YouTube Data API v3 を使います。
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
from google.oauth2.credentials import Credentials
def upload_to_youtube(video_path, title, description):
creds = Credentials.from_authorized_user_file("token.json")
youtube = build("youtube", "v3", credentials=creds)
body = {
"snippet": {
"title": title,
"description": description,
"categoryId": "28" # Science & Technology
},
"status": {"privacyStatus": "private"} # まず非公開で確認
}
media = MediaFileUpload(video_path, chunksize=-1, resumable=True)
request = youtube.videos().insert(part="snippet,status", body=body, media_body=media)
response = request.execute()
return response["id"]
Gmail通知
投稿完了後にGmailで自身に通知を送ることも可能です。
import smtplib
from email.mime.text import MIMEText
def send_gmail_notify(subject, body):
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = "info@example.com"
msg["To"] = "info@example.com"
with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
server.login("info@example.com", "Gmailアプリパスワード")
server.send_message(msg)
Obsidianと連携したワークフロー
watchdog ライブラリを使うと、Obsidianの特定フォルダにMarkdownファイルを保存した瞬間にスクリプトが自動起動します。
from watchdog.observers.polling import PollingObserver as Observer
from watchdog.events import FileSystemEventHandler
WATCH_FOLDER = "/path/to/obsidian/投稿する記事"
class MarkdownHandler(FileSystemEventHandler):
def on_created(self, event):
if event.src_path.endswith(".md"):
raw = open(event.src_path).read()
enhanced = enhance_article(raw) # Claude API
post_to_wp("タイトル", enhanced, next_slot()) # WordPress
observer = Observer()
observer.schedule(MarkdownHandler(), WATCH_FOLDER, recursive=True)
observer.start()
実際のワークフロー
1. Obsidianにメモを書く
2. 所定フォルダに保存
3. → Claude APIが記事を整形
4. → WordPressに予約投稿
5. → Gmail通知
認証まわりの注意点
| サービス | 認証方式 | 取得場所 |
|---|---|---|
| Anthropic API | APIキー | console.anthropic.com |
| WordPress | アプリケーションパスワード | WP管理画面 → ユーザー |
| OAuth2(token.json) | Google Cloud Console | |
| Gmail送信 | Gmailアプリパスワード | Googleアカウント → セキュリティ |
Google系は初回のみブラウザで認証が必要で、token.json が生成されると以降は自動更新されます。
まとめ
- Claude API → テキスト整形・SEO強化の頭脳
- WordPress REST API → 予約投稿・カテゴリ・タグの自動設定
- Google API → YouTube非公開アップロード・Gmail通知
- watchdog → Obsidianと連携してファイル保存をトリガーに
Pythonで各APIを繋ぎ、Claudeを中心に置くことで「書く→公開」の作業を限りなく自動化できます。一度仕組みを作れば、素材を用意するだけで複数サービスへの展開が完結します。
