WordPress 4.7から標準実装になったプラグイン「WP REST API」を使って記事の投稿をしようとしたところ、403(Forbidden Access)となり投稿できなかったので、その対処方法です。
事象
Pythonの勉強として、「WP REST API」を使って「Google Colaboratory」環境からWordPressの自動投稿をしました。
この動作確認を行っているときに403(Forbidden Access)エラーが発生しました。
- 「Google Colaboratory」環境、
requests.post()
を実行した。 - 403(Forbidden Access)エラーとなり、WordPressの投稿が出来ない。
環境
- サーバ : お名前.comレンタルサーバ
- WordPress Ver. : 5.3.2
- RESTリクエスト : Google Colaboratory(Python)
原因
原因
WordPressが国外からの「Rest-APIへのアクセス制限」をしていた。(お名前ドットコムの初期設定)
解析
- 403(Forbidden Access)エラーであるため、認証情報に誤りがある?
⇒同環境から認証不要なrequests.get()
を行ったところ同様に403エラーとなったため、認証情報の正誤は本件の原因ではない - 「WP REST API」プラグインは正常に動作している?
⇒PCのIEからGETを行ったところレスポンスを受け取ることが出来たため、正常に動作している - 「Google Colaboratory」からHTTPリクエストを投げることが出来ている?
⇒他サイト(Googleニュース)にリクエストを投げ、正常にレスポンスを受け取ることが出来ている
対処
国外からの「Rest-APIへのアクセス制限」をOFFにする。
- 「お名前.com」の「レンタルサーバーコントロールパネル」にて、「基本設定」>「WordPress」をクリックする。
- 「セキュリティ」タブをクリックする。
- 「国外アクセス制限」の「Rest-APIへのアクセス制限」を「OFF」にする。
対処結果
無事、「Google Colaboratory」環境からWordPressの自動投稿が出来ました。
コメント