
在本指南中,我们将探索如何使用 wordpress api 进行身份验证并安排特定发布时间的帖子。这些步骤将帮助您以编程方式安全地管理您的 wordpress 内容。
使用 wordpress api 进行身份验证
要安全地与 wordpress api 交互,您需要对您的请求进行身份验证。让我们深入研究两种常见的方法:
应用程序密码
应用程序密码是 wordpress 中的一项内置功能,可让您生成用于 api 访问的安全密码,而不会泄露您的主帐户密码。
- 登录您的 wordpress 管理仪表板。
- 导航到用户→个人资料。
- 向下滚动到“应用程序密码”部分。
- 输入应用程序的名称(例如“api 访问”)。
- 点击“添加新的应用程序密码”。
- 复制生成的密码(您将无法再次看到它)。
使用应用程序密码:
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 版本或者如果您更喜欢替代方法:
- 从 wordpress.org github 存储库下载基本身份验证插件。
- 在您的 wordpress 网站上安装并激活该插件。
- 使用您的常规 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, timedeltaurl = "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, timedeltapost_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 进行身份验证,并以编程方式安排特定发布时间的帖子。
引用:
- 身份验证 – rest api 手册 | developer.wordpress.org
- wordpress rest api:如何访问、使用和保护它(完整教程)
- wordpress rest api 身份验证 – wordpress 插件 | wordpress.org
- wordpress api 基础知识初学者指南 - getdevdone 博客
- 什么是 wp rest api 以及如何保护它 | wordpress rest api
- wordpress rest api 身份验证 | wordpress 插件











