こんばんは。
wordpress rest apiを使ってpostmanからwordpressに投稿してみました。
使い方などを書いてみます。
WordPress rest apiとは?
apiといえばリクエストしたら、json形式で値を返してくれるものですね。
投稿するときはjsonでpostして、登録したり更新したり削除したり。
このブログだと https://codelikes.com/wp-json/wp/v2/posts で投稿一覧を返してくれます。
これを使うと、wordpressの標準のフロント画面を使わないで、ブログを作ったりできます。
HPのほうは、http://codelike.info/#/blog こんな感じで、apiを使って、プログラムのタグに紐づく一覧を表示しています。
投稿するには?
一覧や記事の詳細はアクセスすると簡単に取得できますが、投稿したいときは認証しないと投稿できないようでした。
公式のリファレンスを見てもよくわからなかったんですが、調べてみると投稿できました。
下記は投稿方法です。
Application Passwordsプラグインをインストールする
投稿するときの認証をするために、Application Passwordsプラグインをインストールします。
いつも通り、 プラグイン > 新規追加 から [Application Passwords] で検索して、インストールし、有効にしておきます。
ユーザー設定でアプリケーショントークンを発行する
ユーザー > ユーザー一覧 から自分のプロフィールに行くと下記のように画面が表示されます。
適当に名前を付けてAdd New ボタンを押します。ここに入力するのは管理用の文字列です。
間違えてもRevokeで消して、何回でも発行できます。たまに再発行して、新しくしておくとセキュリティ的にいいかも?ですね。
ここに出てくる文字列は一回しかでないので、メモしておきます。
テキストにでも張り付けておけばOKです。
これをbase64に変換します。
ユーザー名:発行トークン で変換します。jsでやる場合はdeveloperツールから下記のようにしてあげたら値がとれます。
window.btoa("username:tIO2 ADJm mb48 qDEy bXeg wZOJ")
> "dXNlcm5hbWU6dElPMiBBREptIG1iNDggcURFeSBiWGVnIHdaT0o="
postmanから投稿する
作ったトークンで投稿します。
curlなどリクエスト投げれればなんでもいいと思います。
jsonはこんな感じで、書きました。
titleがブログタイトルで、contentがブログの内容でstatusが下書きや公開のステータスになります。
その辺は公式に書いているので参考にしてください。
AuthorizationにBasic [作ったトークン] を入れておきます。
これでsendを押すと登録されます。
なんか標準の投稿画面にいちいちアクセスするのもめんどくさいので、こういうのを使って楽な更新環境を作りたいですね。。
ノシ
コメント