質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

3251閲覧

wordpressのREST APIを使用して非公開の記事を取得する方法

tomato01

総合スコア82

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/12/02 02:52

宜しくお願い致します。

wordpressのREST APIを使用して非公開の記事を取得する方法がわかりません。

下記のURLを指定して公開されている記事の取得はできるのですが、取得したjsonに非公開の記事が含まれておりませんでした。

https://HPのURL/wp-json/wp/v2/posts

知りたいこと
非公開の記事を取得する為の記述を確認したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どのように実行されたか分かりませんが、API のアクセスは、非公開記事を閲覧できるユーザーで認証されていますか?

認証 - WP REST API

投稿2019/12/02 03:31

CHERRY

総合スコア25234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomato01

2019/12/02 04:00

ご連絡をいただきありがとうございます。 wordpressにログイン後に記載のURLをブラウザ表示さましたが、表示ができませんでした。 ログインをしているユーザーは管理者権限となりますが、さらに何か確認が必要でしょうか。 尚、自分で調べて https://HPのURL/wp-json/wp/v2/posts?status=publishでは記事が取得できるのですが、https://HPのURL/wp-json/wp/v2/posts?status=privateや、その他のステータスでは取得ができませんでした。
CHERRY

2019/12/02 04:13

記載したURLにある方法で認証をする必要がありますが、どのようなプログラムを書かれているのでしょうか?
tomato01

2019/12/02 04:19

ご返信ありがとうございます。 特にプログラムを使って呼び出しはしておらず、ブラウザーのURL貼り付け欄に上記のURLを貼り付け、返ってきた値を取得している感じです。(すみません質問の回答になっておりますでしょうか。)もしくは、今回のケースでは別のやり方の方が必要でしょうか。
CHERRY

2019/12/02 05:18

ウェブブラウザに URL を入力してのの実行ですか。 記載した URL のクッキー認証の部分に記載がありますが、CSRF 対策のために nonce が、追加されていますので、残念ながらウェブブラウザに URL を入力するだけでは、ログインが必要なAPI は、実行できません。(JavaScript 等で WordPress サーバーから送信される nonce を受け取り、API のリクエスト時に受け取った nonce も一緒に送信する必要があります。) API のテストであれば、アプリケーションパスワードやベーシック認証でログイン情報の指定が可能な curl 等のコマンドラインツールを使うことをお勧めします。
tomato01

2019/12/02 05:40

ご回答をいただきありがとうございます! 内容理解致しました。私はmacユーザーなのですが、curl のコマンドラインツールはすぐ導入できそうでしょうか。もし、参考になりそうなリンクをいただけますと幸いです。
tomato01

2019/12/02 08:34

追記です。 下記のリンクを参考になんとか非公開の記事を取得できました。ありがとうございます。 https://wp-kyoto.net/curl-post-delete-wp-rest-api-posts ただ、もう一点問題が発生しております。 現状で非公開の記事が100件以上あり、下記のように記載をしても10件しかできません。 curl --user admin:admin http://自分のHP/wp-json/wp/v2/posts?status=private&per_page=100 尚、上記で?status=privateを省いた場合は、publishの記事を100件取得することができます。 なにか記載の方法が間違っておりますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問