概要
- WP REST API を使った自動化みたいなことを考えているので使えるようになりたい
- 本番で検証するのは掃除や事故が怖いのでDockerで検証しました
- Application Passwordsは過去はPluginとして利用でしたが、あるバージョンからは組み込まれているっぽい
- また、SSLが必須(定義でどうにかなるらしいが探しきれなかった)なので、SSL化するdocker-compose.ymlを用意した
環境
$ sw_vers
ProductName: macOS
ProductVersion: 12.3
BuildVersion: 21E230
WordPressのバージョンは 5.9.1
でした
Docker使って環境を用意する
↑のリポジトリに従って起動・手続きするだけ
WordPressの初期設定
これは世にありふれているので割愛します
Application Passwordsの設定
WordPressにログインし、左メニューからUsers
→All Users
→自分のユーザー名
→ユーザー編集ページの下部にあるNew Application Password Name
にパスワード名を入力
適当に aipa1192
作ろう鎌倉幕府 と入力し、 Add New Application Password
ボタンを押します
そしたら、パスワードが表示されるので、メモしておいてください(再表示はできないらしい)
リクエストしてみる
$ curl --user "${wpログインユーザー名}:${メモしたパスワード}" \
-X POST \
'https://localhost/?rest_route=/wp/v2/posts' \
-H "Content-Type: application/json" \
-d '{"title": "MyTitle", "content": "MyBody", "status": "publish"}' | jq .
特にエラーコードなく、結果が返ってきたらおkです。投稿されているか確認してみてください
ぼくのページ勝手にブクマしないでください!!!><
大丈夫そうですね。以上です。
次
- JWT Authentication for WP REST API
- WordPress REST API – OAuth 1.0a Server