」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 使用 WordPress API 的綜合指南:身份驗證和後期調度

使用 WordPress API 的綜合指南:身份驗證和後期調度

發佈於2024-11-17
瀏覽:223

A Comprehensive Guide to Using the WordPress API: Authentication and Post Scheduling

在本指南中,我們將探討如何使用 WordPress API 進行驗證並安排特定發佈時間的貼文。這些步驟將幫助您以程式設計方式安全地管理您的 WordPress 內容。

使用 WordPress API 進行身份驗證

要安全地與 WordPress API 交互,您需要對您的要求進行身份驗證。讓我們深入研究兩種常見的方法:

應用程式密碼

應用程式密碼是 WordPress 中的內建功能,可讓您產生用於 API 存取的安全密碼,而不會洩露您的主帳戶密碼。

  1. 登入您的 WordPress 管理儀表板。
  2. 導覽至使用者 → 個人資料
  3. 向下捲動到「應用程式密碼」部分。
  4. 輸入應用程式的名稱(例如「API Access」)。
  5. 點選「新增新的應用程式密碼」。
  6. 複製產生的密碼(您將無法再次看到它)。

使用應用程式密碼:


import requests

url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
username = "your_username"
app_password = "your_application_password"

headers = {
"Content-Type": "application/json"
}

response = requests.get(url, auth=(username, app_password), headers=headers)




基本驗證插件

對於較舊的 WordPress 版本或如果您喜歡替代方法:

  1. 從 WordPress.org GitHub 儲存庫下載基本驗證外掛程式。
  2. 在您的 WordPress 網站上安裝並啟用該外掛程式。
  3. 使用您的常規 WordPress 使用者名稱和密碼進行身份驗證。

import requests

url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
username = "your_username"
password = "your_password"

headers = {
"Content-Type": "application/json"
}

response = requests.get(url, auth=(username, password), headers=headers)




在特定時間發布貼文

若要安排貼文在特定時間發布,請在建立或更新貼文時使用日期參數。方法如下:

建立預定帖子


import requests
from datetime import datetime, timedelta

url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
username = "your_username"
app_password = "your_application_password"

# Schedule the post for 2 days from now at 10:00 AM
scheduled_time = datetime.now() timedelta(days=2)
scheduled_time = scheduled_time.replace(hour=10, minute=0, second=0, microsecond=0)
scheduled_time_str = scheduled_time.isoformat()

data = {
"title": "Scheduled Post Example",
"content": "This is the content of the scheduled post.",
"status": "future",
"date": scheduled_time_str
}

response = requests.post(url, auth=(username, app_password), json=data)

if response.status_code == 201:
print("Post scheduled successfully!")
else:
print("Error scheduling post:", response.text)




更新現有貼文的時間表

要重新安排現有帖子,您需要其帖子 ID:


import requests
from datetime import datetime, timedelta

post_id = 123 # Replace with the actual post ID
url = f"https://your-wordpress-site.com/wp-json/wp/v2/posts/{post_id}"
username = "your_username"
app_password = "your_application_password"

# Reschedule the post for 1 week from now at 2:00 PM
new_scheduled_time = datetime.now() timedelta(weeks=1)
new_scheduled_time = new_scheduled_time.replace(hour=14, minute=0, second=0, microsecond=0)
new_scheduled_time_str = new_scheduled_time.isoformat()

data = {
"status": "future",
"date": new_scheduled_time_str
}

response = requests.post(url, auth=(username, app_password), json=data)

if response.status_code == 200:
print("Post rescheduled successfully!")
else:
print("Error rescheduling post:", response.text)




重要提示

  • 確保您的 WordPress 網站使用 HTTPS 進行安全通訊。
  • 妥善保管您的應用程式密碼或常規密碼,切勿分享。
  • 日期參數應採用 ISO 8601 格式 (YYYY-MM-DDTHH:MM:SS)。
  • WordPress API 使用 UTC 時間,因此請相應地調整您的計劃時間。
  • 將預定貼文的貼文狀態設定為「未來」。
  • 您也可以使用date_gmt參數直接指定GMT/UTC時間。

透過遵循本指南,您應該能夠使用 WordPress API 進行身份驗證,並以程式設計方式安排特定發佈時間的貼文。

引用:

  1. 驗證 – REST API 手冊 | Developer.WordPress.org
  2. WordPress REST API:如何存取、使用和保護它(完整教學)
  3. WordPress REST API 驗證 – WordPress 外掛 | WordPress.org
  4. WordPress API 基礎知識初學者指南 - GetDevDone 部落格
  5. WP REST API 以及如何保護它 | WordPress Rest API
  6. WordPress REST API 驗證 | WordPress 外掛
版本聲明 本文轉載於:https://dev.to/bramburn/a-comprehensive-guide-to-using-the-wordpress-api-authentication-and-post-scheduling-27me?1如有侵犯,請洽study_golang@163 .com刪除
最新教學 更多>
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-17
  • 為什麼 Python 會拋出「ValueError:嘗試相對導入超出頂級套件」錯誤,以及如何避免?
    為什麼 Python 會拋出「ValueError:嘗試相對導入超出頂級套件」錯誤,以及如何避免?
    頂級包之外的相對導入在多層Python 包中嘗試相對導入時,從包目錄運行模組可能會導致“ValueError:嘗試相對導入超出頂級包”錯誤。了解此錯誤背後的原因對於有效的套件管理至關重要。 發生該錯誤的原因是 Python 不維護套件載入位置的記錄。以「python -m test_A.test」執...
    程式設計 發佈於2024-11-17
  • 如何在 Java 中建立二維數組的真實副本而不產生意想不到的後果?
    如何在 Java 中建立二維數組的真實副本而不產生意想不到的後果?
    在 Java 中有效複製二維數組使用二維數組時,通常需要創建原始數組以保留其原始值。然而,像old = current這樣的直接賦值可能會導致意想不到的後果。 理解Java數組賦值在Java中,數組是對象,數組之間的賦值是引用到同一個底層數組。因此,更新一個數組會影響另一個數組,因為它們都指向相同的...
    程式設計 發佈於2024-11-17
  • 如何從兩個鍵和值數組建立 JavaScript 物件?
    如何從兩個鍵和值數組建立 JavaScript 物件?
    從鍵和值數組建構一個物件你有兩個數組,newParamArr和paramVal,你的目標是建立一個JavaScript對象將這些數組中的元素配對。物件中的每個鍵都應該對應 newParamArr 中的一個元素,並且關聯的值應該來自 paramVal。 例如,如果newParamArr 包含[&quo...
    程式設計 發佈於2024-11-17
  • 如何增加 MySQL 中 VARCHAR 資料列的大小?
    如何增加 MySQL 中 VARCHAR 資料列的大小?
    修改MySQL 表中的列大小您可能會遇到類似於問題中描述的情況,您錯誤地設定了表列的大小不合適。在本例中,使用者定義了長度為 300 的 VARCHAR 資料列,而不是最大長度 65353。使用 MySQL 的 ALTER TABLE 語句可以輕鬆解決此問題。 ALTER TABLE 語句可讓您修改...
    程式設計 發佈於2024-11-17
  • 如何在生產環境中將本機 MySQL 資料庫連接到容器化應用程式?
    如何在生產環境中將本機 MySQL 資料庫連接到容器化應用程式?
    用於本地生產部署的Docker 資料庫連線選項在生產環境中,您可能會喜歡使用本地託管的MySQL 資料庫,而不是容器化資料庫。如果您的 Docker-compose.yml 設定映像了上面提供的,您可以無縫連接到本機資料庫。 使用Docker 連接到本地MySQL 資料庫連接您的本地MySQL 資料...
    程式設計 發佈於2024-11-17
  • 利用 Python 實現資料輸入自動化:開發人員指南
    利用 Python 實現資料輸入自動化:開發人員指南
    資料輸入雖然通常被認為是平凡的,但對於維護業務記錄至關重要。但在自動化時代,開發人員可以在改變公司處理大量資料的方式方面發揮關鍵作用。 Python 擁有龐大的函式庫生態系統,提供了強大的工具來自動執行資料輸入任務,減少人為錯誤並提高效率。 為什麼要使用 Python 自動輸入資料...
    程式設計 發佈於2024-11-17
  • 如何使用 CSS 建立帶有邊框的透明三角形?
    如何使用 CSS 建立帶有邊框的透明三角形?
    使用CSS 製作帶有邊框的透明三角形用CSS 創建複雜的形狀可能具有挑戰性,但是對於三角形,有多種方法可以實現您想要的效果效果。 您已經嘗試過的一種方法涉及利用邊框。雖然這種技術有效,但它依賴視覺技巧。有沒有更優雅的解決方案? 是的,有! Webkit 獨有的方法涉及利用 Unicode 字元 U ...
    程式設計 發佈於2024-11-17
  • 如何在不加表鎖的情況下在大型MySQL生產表上建立索引?
    如何在不加表鎖的情況下在大型MySQL生產表上建立索引?
    如何在不加表鎖的情況下在大型MySQL生產表上建立索引問題背景: 在大型MySQL 表上建立索引可能是一項艱鉅的任務,尤其是在不間斷存取至關重要的生產環境中。傳統的 CREATE INDEX 語句可能會導致完全表鎖定,從而阻塞所有並發操作。 MySQL 版本注意事項:在 MySQL 5.6 及更高...
    程式設計 發佈於2024-11-17
  • 使用express-fast-json-stringify 增強 Express.js 中的 JSON 序列化效能
    使用express-fast-json-stringify 增強 Express.js 中的 JSON 序列化效能
    JSON 序列化是 Web 開發中的關鍵任務,特別是對於使用 Node.js 和 Express.js 建立的應用程式。雖然 Node.js 中的原生 JSON 序列化 (JSON.stringify()) 簡單且方便,但它可能成為效能瓶頸,尤其是在重負載下。本文介紹了express-fast-js...
    程式設計 發佈於2024-11-17
  • 為什麼 Go 的 `encoding/csv` 套件會向 CSV 檔案中的參考字串添加額外的引號?
    為什麼 Go 的 `encoding/csv` 套件會向 CSV 檔案中的參考字串添加額外的引號?
    對Go 中引用字串的特殊CSV 結果進行故障排除Encoding/CSVGo 中的encoding/csv 套件一直是處理引用字串的許多爭論的主題在CSV 文件中。本文旨在透過探索使用者在將引號的字串寫入 CSV 檔案時遇到額外引號所觀察到的有趣現象來闡明這個問題。 額外引號之謎用戶提供下面的程式碼...
    程式設計 發佈於2024-11-17
  • 如何使用 Unicode 來顯示具有「far」和「fas」類別的 Font Awesome 5 星圖示?
    如何使用 Unicode 來顯示具有「far」和「fas」類別的 Font Awesome 5 星圖示?
    Font Awesome 5 星圖示的Unicode:使用「far」和「fas」類別Font Awesome 5 提供常規和實體星形圖標,兩者均由Unicode 值“\f005”表示。要在評級系統中利用這些變化,您可以利用 CSS 在「far」和「fas」類別之間切換。 「fas」類代表實心星星,而...
    程式設計 發佈於2024-11-17
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-11-17
  • `MappedBy` 如何促進 JPA 和 Hibernate 中的雙向關係?
    `MappedBy` 如何促進 JPA 和 Hibernate 中的雙向關係?
    了解JPA 和Hibernate 中的MappedBy在JPA 和Hibernate 等物件關係映射(ORM) 框架中,MappedBy 是一個有用的註釋在實體類別之間建立雙向關係。此註解用於一對多和多對一關係的上下文中。 推薦用法MappedBy的建議用法如下: 一對多關係: 在一對多關係中,「多...
    程式設計 發佈於2024-11-17
  • 如何在懸停時創建邊框底部的動畫擴充?
    如何在懸停時創建邊框底部的動畫擴充?
    懸停效果:邊框底部的動畫擴展在這個問題中,目標是創建一個懸停效果,在懸停時擴展元素的底部邊框。為了達到這種效果,我們可以利用變換屬性並在懸停時將其從 0 轉換為 1。 h1 { color: #666; display: inline-block; margin: 0; text-t...
    程式設計 發佈於2024-11-17

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3