OpenByt - 無料のWordPressに関する究極の情報源

WordPress REST APIをマスターしましょう:認証と統合

REST APIとは何ですか?

REST API (Representational State Transfer Application Programming Interface) とは、異なるソフトウェア・システムがインターネット上で通信するためのルール・セットです。APIは2つのシステムをつなぐ架け橋のようなもので、情報を要求したり共有したりすることができます。

Let’s break down the components of a REST API:

REST APIはどのように機能するのですか?

REST API allows clients (like your browser or an app) to send requests to servers and receive data in return. Let’s break down how it works step by step:

  1. お客様のご要望:クライアント(アプリケーション)は、サーバー上の特定の URL に HTTP 要求を送信します。このURLはリソース(ユーザー、製品など)を表します。
    • 例GET https://api.example.com/users はユーザーのリストを要求します。
  2. サーバー処理:サーバーはリクエストを受信し、それを処理し、データ(通常はデータベースから)を取得し、応答を準備します。
  3. サーバーの応答:サーバーはHTTPレスポンスをクライアントに返します。このレスポンスには
    • ステータスコード: To indicate if the request was successful (e.g., 200 OK for success, 404 Not Found if the resource doesn’t exist).
    • データ:通常は JSON 形式で、要求されたリソースを表します。

基本認証: それは何であり、なぜ重要なのでしょうか?

基本認証 は、API をリクエストする際にユーザが自分の身元を確認するための簡単な方法です。この方法では、クライアントはリクエストヘッダにエンコードされたユーザ名とパスワードを送信し、サーバはそれを検証します。

なぜ重要なのか:認証により、許可されたユーザーだけがリソースにアクセスできるようにし、許可されていないユーザーがアクセスできないようにします。

どのように機能するのですか?:クライアントがサーバーにリクエストを送信するとき、そのリクエストには 認可 ヘッダに、Base64 でエンコードされたクレデンシャルを追加します。

認証ベーシック dXNlcm5hbWU6cGFzc3dvcmQ=

サーバーはこのヘッダーをデコードし、ユーザー名とパスワードが有効かどうかをチェックします。

WordPress REST APIの認証方法

で作業する場合 WordPress REST APIリクエストを保護するために、いくつかの認証方法を使うことができます:

1:基本認証

2:クッキー認証

3:OAuth認証

4:アプリケーションパスワード

WordPress REST APIを使った開発の最大化

WordPress REST API を使用すると、WordPress ダッシュボードの外から WordPress サイトを操作できるようになり、強力なウェブアプリケーションを作成できます。ここでは、開発を最大限に活用する方法を紹介します:

1:カスタムエンドポイント: カスタムエンドポイントを作成することで、デフォルトでは利用できない WordPress サイトの追加データを公開できます。

add_action('rest_api_init', function() {)
  register_rest_route('myplugin/v1', '/custom-data/', array(
    'methods' => 'GET'、
    'callback' => 'my_custom_data_callback'、
  ));
});

関数 my_custom_data_callback() {
  return new WP_REST_Response(array('data' => 'Hello, world!'), 200);
}

2:JavaScriptの統合: JavaScript を使用して REST API にリクエストを送信し、動的でインタラクティブなユーザー体験を作成します。たとえば、REST API 経由で WordPress バックエンドとやりとりする React や Vue.js アプリケーションを構築できます。

実例:JavaScriptを介してREST APIとやりとりすることで、ユーザーがページをリロードせずにコメントを投稿できるカスタムコメントシステムを構築することを想像してみてください。

JavaScriptによる認証リクエストの送信

JavaScript を使って認証されたリクエストを送るには、 リクエストヘッダに正しい認証情報やトークンを含める必要があります。例えば

fetch('https://api.example.com/users', {
  メソッド: 'GET'、
  headers:{
    'Authorization': 'Basic ' + btoa('username:password')、
    'Content-Type': 'application/json'.
  }
})
  .then(response => response.json())
  .then(data => console.log(data));

この例では、btoa() 関数が認証情報を Base64 でエンコードして一次認証を行っています。

クッキー認証

When working with cookie authentication, you can use the WordPress logged-in user’s session cookies to access the REST API. Here’s a step-by-step example of how it works:

  1. ログイン The user logs in to your WordPress site, and WordPress sets an authentication cookie in the user’s browser.
  2. リクエストの送信:あなたのJavaScriptコードがREST APIをリクエストするとき、ブラウザはリクエストヘッダにCookieを含み、WordPressはどのユーザーがリクエストしているかを知ることができます。

WordPress HTTP API でのリクエスト送信

を使用することもできます。 WordPress HTTP API を使用して WordPress サイト内からリクエストを送信します。HTTP API は、WordPress が REST API とやりとりするために提供する関数のセットです。

GETリクエストの送信例:

$response = wp_remote_get('https://api.example.com/users');
if (is_wp_error($response)) { { $error_message = $response>get_error_message()
  $error_message = $response->get_error_message();
  echo "何か問題が発生しました: $error_message";
} else {
  $body = wp_remote_retrieve_body($response);
  echo $body;
}

この例では、wp_remote_get() 関数を使用して外部 API に GET リクエストを送信し、レスポンスを取得します。

概要

このガイドでは

よくある質問REST APIと認証に関するよくある質問

  1. 認証なしでREST APIを使用できますか?
    • はい、ただし公開データのみです。機密データについては、適切な認証が必要です。
  2. ベーシック認証は安全ですか?
    • 基本認証は、認証情報が暗号化されずにエンコードされるため、本番環境では安全ではありません。テスト用か HTTPS を使った認証に適しています。
  3. アプリケーション・パスワードは何に使うのですか?
    • アプリケーションパスワードは、WordPress の主要なパスワードを共有することなく API リクエストを認証します。サードパーティのアプリケーションを統合するのに役立ちます。

次のステップ

コーディングを楽しんでください!REST APIは強力なツールであり、その使い方を理解することで、ウェブ開発における無限の可能性が開けます。

モバイルバージョン終了