データを取得するための WP REST API

PHPz
リリース: 2023-09-04 14:05:01
オリジナル
736 人が閲覧しました

このシリーズの前の部分では、WP REST API とは何か、そしてそれが WordPress バックエンドを使用してより良いアプリケーションを構築するのにどのように役立つのかを見てきました。

次に、認証済みリクエストを生成するためにサーバー上で認証を設定する 2 つの異なる方法を検討しました。 1 つ目は Basic 認証方法です。これは開発環境で役立ち、セットアップに時間がかからないため、迅速なプロトタイピングが可能になります。高度な認証方法は OAuth 2.0 です。基本認証方法よりもはるかに安全であるため、運用環境に推奨されます。

認証の設定方法を理解したので、WP REST API の機能を最大限に活用するための認証済みリクエストを生成する準備が整いました。このシリーズでは使いやすさのため基本認証を使用しますが、運用サーバーには OAuth 2.0 認証 (WordPress REST API 認証プラグインによって提供される) を使用することをお勧めします。

WordPress REST API 認証プラグインは、API エンドポイントへのアクセスを制御する認証メカニズムを追加することで、WordPress REST API のセキュリティを強化します。いくつかの認証方法が付属しています:

  • 基本認証
  • API キー認証
  • JWT認証
  • OAuth 2.0 認証

認証を設定した後、さまざまな API エンドポイントのアクセス制御ルールを定義できます。これにより、どのユーザーまたはロールが特定のエンドポイントにアクセスできるかを構成できます。また、ユーザーの役割、機能、または特定のユーザー ID に基づいてアクセスを制限するオプションも提供します。

シリーズの今回の記事では、WP REST API を初めて実際に見ていきます。私達はします:###

    分析
  • GET リクエスト構造
  • 表示
  • オプション セルフロギング API をリクエストする方法
  • データを取得するためにサーバーにリクエストを送信します
  • 属性、スキーマ、リンクを含むサーバー応答を分析する
  • GET リクエストの分析
  • OPTIONS リクエストを使用した API の操作
  • 投稿の処理
  • 投稿のリビジョン、カテゴリ、タグの使用
  • 他のリソースを使用する

したがって、最初に単純な GET リクエストの構造を分析します。

GETリクエスト分析

WP REST API を使用してデータを取得する方法を詳しく説明する前に、サーバーに送信されるリクエストの構文を理解しておく必要があります。これにより、将来の WP REST API とのやり取りに強固な基盤が提供されます。

サーバーに送信された次のリクエストについて考えてみましょう:

リーリー

送信するリクエストのタイプは GET です。これは、このシリーズのパート 1 で説明した 6 つの HTTP 動詞の 1 つです。 GET リクエストはサーバーからデータを取得するために使用されます。したがって、サーバー上で実行されると、上記のリクエストはすべての投稿オブジェクトのコレクションを JSON データとして取得します。

リクエスト URI を考慮すると、次の部分に分割できます:

  • https://localserver/: ローカル開発サーバーの URL。 WordPress がインストールされている場所に応じて、任意の URL を指定できます。
  • /wp-json: WP REST API のエンドポイント プレフィックス。
  • /wp: WP REST API の名前空間。
  • /v2: WP REST API のバージョン。
  • /posts: これはサーバーから取得したいリソースです。

名前空間は、複数のプラグインを実行するときに発生する可能性のあるオーバーライドを防ぎ、それぞれが RESTful API に独自の抽象化レイヤーを提供します。したがって、各抽象化は独自の境界内で動作し、他の抽象化に属するメソッドやプロパティには影響しません。

上記の URI を使用してリソース (投稿) のコレクションを取得することに加えて、ID を指定して特定のリソースを取得することもできます:

リーリー

上記のリクエストは、ID 100 の投稿リソースを検索するため、投稿オブジェクトを返します。

通常、特定の条件を満たす投稿を検索する必要もあります。たとえば、次のコード スニペットに示すように、カテゴリ別に投稿をフィルタリングできます。

リーリー

上記のリクエストを送信すると、ID 20 と 30 のカテゴリに属する​​すべての投稿を取得できます。ご覧のとおり、categories パラメータに 1 つ以上のカテゴリ ID を渡すと、カテゴリ分類内の特定の用語が割り当てられた投稿が返されます。

上記の構文は、次の WP_Query() 呼び出しと同等です:

リーリー

したがって、上記の GET リクエストは、ID 20 と 30 の 2 つのカテゴリに属する​​投稿のリストを取得します。同じ構文は、3 つ以上の要素を持つ配列パラメーターにも使用できます。

GET リクエストをフォーマットしてパラメータを指定する方法を確認したので、今度は OPTIONS リクエストを見てみましょう。 オプション リクエストを使用すると、API の操作が簡単になり、エンドポイントで使用可能なすべての HTTP メソッドとそれらがサポートするパラメータをログに記録することで、API をよりアクセスしやすくするための自己文書化された方法として実際に機能します。

OPTIONS リクエストを使用した API の操作

前述したように、OPTIONS リクエストは API を探索するのに非常に役立ちます。ルートに属するすべてのエンドポイントについて説明し、これらのエンドポイントで CRUD 操作がサポートされるパラメーターのリストを提供します。

OPTIONS リクエストを /wp/v2/posts ルートに送信して、サポートされているエンドポイントと、GET に沿ってクエリできるデータを確認してみましょう。リクエスト: ### リーリー

上記のリクエストの送信にはcurlを使用しましたが、Postmanなど任意のツールを使用できます。サーバーへのパスを含む、上記のルートへの完全なパスを必ず含めてください。

リーリー

上記の

OPTIONS リクエスト /wp/v2/posts ルートは、次の 5 つの属性を含む JSON 形式のデータを返します。