【AI×WordPress自動化連載】第3回 WordPress REST APIを使って記事を自動投稿する

Python自動化

【AI×WordPress自動化連載】第3回 WordPress REST APIを使って記事を自動投稿する

こんにちは!「AI×WordPress自動化連載」第3回へようこそ。第1回では自動化の全体像を、第2回ではWordPressサイトの事前準備について解説してきました。今回はいよいよ本題である「WordPress REST APIを使った記事の自動投稿」について、初心者の方にもわかりやすく解説していきます。

「REST APIって聞いたことはあるけど難しそう…」と感じる方もご安心ください。この記事を読み終える頃には、実際にプログラムから記事を投稿できるようになっているはずです。

WordPress REST APIとは?基本を理解しよう

まずはWordPress REST APIがどのようなものか、基礎知識から押さえていきましょう。

REST APIの仕組み

WordPress REST APIとは、WordPressの管理画面を使わずに、プログラム(外部アプリケーション)からWordPressのデータ(記事、画像、カテゴリーなど)を操作できる仕組みです。HTTPリクエストを送ることで、記事の作成・編集・削除などが可能になります。

WordPress 4.7以降は標準で組み込まれているため、特別なプラグインを入れなくても基本的な機能はすぐに利用できます。

記事投稿に必要なエンドポイント

記事を投稿する際に使用する主なエンドポイントは以下の通りです。

POST https://あなたのサイトURL/wp-json/wp/v2/posts

このURLに対して、タイトルや本文などのデータを送信することで、新しい記事が作成されます。

投稿前の準備

実際に記事を投稿する前に、いくつかの準備が必要です。順番に確認していきましょう。

アプリケーションパスワードの発行

WordPressのREST APIを使って投稿するには、認証が必要です。初心者の方には「アプリケーションパスワード」という機能の利用をおすすめします。これはWordPress標準機能で、以下の手順で発行できます。

  1. WordPress管理画面にログイン
  2. 「ユーザー」→「プロフィール」を開く
  3. ページ下部の「アプリケーションパスワード」欄に任意の名前を入力して「新規追加」をクリック
  4. 表示されたパスワードを安全な場所に保存

このパスワードは一度しか表示されないため、必ずメモしておきましょう。

必要な情報の確認

投稿処理を行うプログラムを書く前に、以下の情報を手元に用意しておきましょう。

  • WordPressサイトのURL
  • ログインユーザー名
  • 発行したアプリケーションパスワード

実際に記事を投稿してみよう

準備が整ったら、実際にプログラムを使って記事を投稿してみましょう。ここではPythonを使ったサンプルコードを紹介します。

Pythonを使った投稿サンプル

以下はシンプルな投稿スクリプトの例です。「requests」ライブラリを使用しています。

import requests
from requests.auth import HTTPBasicAuth

url = "https://あなたのサイトURL/wp-json/wp/v2/posts"

data = {
    "title": "自動投稿のテスト記事",
    "content": "これはREST API経由で投稿された記事です。",
    "status": "publish"
}

response = requests.post(
    url,
    json=data,
    auth=HTTPBasicAuth("ユーザー名", "アプリケーションパスワード")
)

print(response.status_code)
print(response.json())

このコードを実行すると、指定したタイトルと本文でWordPressに記事が自動投稿されます。statusを「draft」にすれば下書き保存も可能です。

レスポンスの確認方法

投稿が成功すると、ステータスコード「201」が返ってきます。レスポンスのJSONデータには、投稿されたIDやリンクなどの情報が含まれているので、投稿内容の確認に活用しましょう。

トラブルシューティング:よくあるエラーと対処法

初めて実装する際には、いくつかのエラーに遭遇することがあります。代表的なものを紹介します。

401エラー(認証エラー)

ユーザー名やアプリケーションパスワードが間違っている場合に発生します。コピー&ペーストミスがないか再確認しましょう。

403エラー(アクセス拒否)

サーバー側のセキュリティ設定やプラグインによってREST APIがブロックされている場合があります。セキュリティ系プラグインの設定を見直してみてください。

404エラー(エンドポイントが見つからない)

URLの指定ミスや、パーマリンク設定が「基本」になっているとREST APIが正しく動作しないことがあります。WordPressの「設定」→「パーマリンク設定」を確認し、「投稿名」などに変更してみましょう。

まとめ

今回は、WordPress REST APIを使って記事を自動投稿する方法について解説しました。アプリケーションパスワードを使った認証から、Pythonを使った実際の投稿コードまで、一連の流れを理解していただけたのではないでしょうか。

次回、第4回では「AIを活用して記事本文を自動生成する方法」について解説していく予定です。今回学んだREST APIの知識と組み合わせることで、AIが生成した記事を自動的にWordPressへ投稿する仕組みが完成に近づきます。ぜひお楽しみに!

\ 高速WordPress環境を構築するなら /

【15日間無料】コアサーバーでWordPressを始める >

タイトルとURLをコピーしました