OpenByt - 您免費 WordPress 知識的終極來源

掌握 WordPress REST API:驗證與整合

什麼是 REST API?

REST API(表現狀態傳輸應用程式介面) 是一套允許不同軟體系統透過網際網路進行通訊的規則。將 API 想像成連接兩個系統的橋梁,允許它們請求和分享資訊。

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 編碼的憑證。

範例:

授權:Basic dXNlcm5hbWU6cGFzc3dvcmQ=

伺服器會解碼此標頭,並檢查使用者名稱和密碼是否有效。

WordPress REST API 的驗證方法

當使用 WordPress REST API, 有幾種認證方法可以用來確保要求的安全性:

1:基本驗證

2:Cookie 驗證

3:OAuth 驗證

4:應用程式密碼

使用 WordPress REST API 進行最大化開發

WordPress REST API 可以讓您從 WordPress 面板之外與您的 WordPress 網站互動,從而創建功能強大的 Web 應用程式。以下是如何讓您發揮最大的開發效益:

1:自訂端點: 您可以建立自訂端點,從 WordPress 網站揭露預設可能無法取得的其他資料。

範例:

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

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

2:JavaScript 整合: 使用 JavaScript 向 REST API 傳送請求,以建立動態、互動的使用者體驗。例如,您可以建立一個 React 或 Vue.js 應用程式,透過 REST API 與 WordPress 後端互動。

實例:試想一下,建立一個自訂的評論系統,使用者不需重新載入頁面即可發表評論,而這一切都透過 JavaScript 與 REST API 進行互動。

使用 JavaScript 傳送驗證請求

要使用 JavaScript 傳送驗證的要求,您必須在要求標頭中包含正確的憑證或識別碼。例如

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

在本範例中,btoa() 函式以 Base64 編碼憑證,用於主要驗證。

Cookie 驗證

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();
  echo "Something went wrong: $error_message";
} else {
  $body = wp_remote_retrieve_body($response);
  echo $body;
}

本範例使用 wp_remote_get() 函式傳送 GET 請求到外部 API 並擷取回應。

摘要

在本指南中,我們涵蓋了

常見問題集:關於 REST API 和驗證的常見問題

  1. 我可以在沒有認證的情況下使用 REST API 嗎?
    • 是的,但只適用於公開資料。對於任何敏感資料,您需要適當的驗證。
  2. 基本驗證是否安全?
    • 基本驗證對於生產而言並不安全,因為憑證是編碼而非加密的。它更適合測試或透過 HTTPS 使用。
  3. 應用程式密碼是用來做什麼的?
    • 應用程式密碼可驗證 API 請求,而無需分享您的 WordPress 主要密碼。它們有助於整合第三方應用程式。

下一步

祝您編碼愉快,繼續探索!REST API 是一個強大的工具,了解如何使用它,將為網頁開發開啟無限的可能性。

退出行動版