発生している問題
WP REST APIが401エラーになってしまう。
実現したいこと
WordPressのREST APIを使い、POSTメソッドを用いて外部のアプリケーションから投稿を行いたい。
##試していること
プラグイン(JWT Authentication for WP REST API)をインストールし、プラグインのリファレンスをもとに、WordPressの .htaccess と wp-config.json に下記コードを追加しました。
.htaccess
RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
wp-config.json
json
1define('JWT_AUTH_SECRET_KEY', 'your-top-secret-key'); 2define('JWT_AUTH_CORS_ENABLE', true);
APIの動作テストを行うために、PostManというツールを使い検証を行いusernameとpasswordをAPIのパラメータに設定し、tokenを取得しました。
取得したtokenをHeaderに設定し、Content-TypeとAuthorization を下記のように設定、
bodyのプロパティをraw / JSON にして、 POST送信を実行しましたが、401エラーが返ってきます。
json
1headers : { 2 "Content-Type" : "application/json; charset=utf-8", 3 "Authorization" : "Bearer [取得したtoken]" 4 } 5{ 6 "title" : "WP REST API v2", 7 "status" : "publish", 8 "content" : "content" 9}
該当のAPI
http://localhost:8888/wordpress/wp-json/wp/v2/posts
エラーメッセージ
{ "code": "rest_cannot_create", "message": "このユーザーとして投稿を編集する権限がありません。", "data": { "status": 401 } }
環境
Apache
PHP 7.3.21
同じ質問をスタックオーバーフローで質問しているのですが、
回答を得ることが出来ませんでしたのでこの場でも質問させていただいております。
ご教示のほど宜しくお願いいたします。