PHP前端开发

使用 WordPress API 的综合指南:身份验证和后期调度

百变鹏仔 4天前 #Python
文章标签 身份验证

在本指南中,我们将探索如何使用 wordpress api 进行身份验证并安排特定发布时间的帖子。这些步骤将帮助您以编程方式安全地管理您的 wordpress 内容。

使用 wordpress api 进行身份验证

要安全地与 wordpress api 交互,您需要对您的请求进行身份验证。让我们深入研究两种常见的方法:

应用程序密码

应用程序密码是 wordpress 中的一项内置功能,可让您生成用于 api 访问的安全密码,而不会泄露您的主帐户密码。

  1. 登录您的 wordpress 管理仪表板。
  2. 导航到用户→个人资料
  3. 向下滚动到“应用程序密码”部分。
  4. 输入应用程序的名称(例如“api 访问”)。
  5. 点击“添加新的应用程序密码”。
  6. 复制生成的密码(您将无法再次看到它)。

使用应用程序密码:

<p>import requests</p><p>url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"<br>username = "your_username"<br>app_password = "your_application_password"</p><p>headers = {<br>    "content-type": "application/json"<br>}</p><p>response = requests.get(url, auth=(username, app_password), headers=headers)</p>




基本身份验证插件

对于较旧的 wordpress 版本或者如果您更喜欢替代方法:

  1. 从 wordpress.org github 存储库下载基本身份验证插件。
  2. 在您的 wordpress 网站上安装并激活该插件。
  3. 使用您的常规 wordpress 用户名和密码进行身份验证。
<p>import requests</p><p>url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"<br>username = "your_username"<br>password = "your_password"</p><p>headers = {<br>    "content-type": "application/json"<br>}</p><p>response = requests.get(url, auth=(username, password), headers=headers)</p>




在特定时间发布帖子

要安排帖子在特定时间发布,请在创建或更新帖子时使用日期参数。方法如下:

创建预定帖子

<p>import requests<br>from datetime import datetime, timedelta</p><p>url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"<br>username = "your_username"<br>app_password = "your_application_password"</p><p># schedule the post for 2 days from now at 10:00 am<br>scheduled_time = datetime.now() + timedelta(days=2)<br>scheduled_time = scheduled_time.replace(hour=10, minute=0, second=0, microsecond=0)<br>scheduled_time_str = scheduled_time.isoformat()</p><p>data = {<br>    "title": "scheduled post example",<br>    "content": "this is the content of the scheduled post.",<br>    "status": "future",<br>    "date": scheduled_time_str<br>}</p><p>response = requests.post(url, auth=(username, app_password), json=data)</p><p>if response.status_code == 201:<br>    print("post scheduled successfully!")<br>else:<br>    print("error scheduling post:", response.text)</p>




更新现有帖子的时间表

要重新安排现有帖子,您需要其帖子 id:

<p>import requests<br>from datetime import datetime, timedelta</p><p>post_id = 123  # Replace with the actual post ID<br>url = f"https://your-wordpress-site.com/wp-json/wp/v2/posts/{post_id}"<br>username = "your_username"<br>app_password = "your_application_password"</p><p># Reschedule the post for 1 week from now at 2:00 PM<br>new_scheduled_time = datetime.now() + timedelta(weeks=1)<br>new_scheduled_time = new_scheduled_time.replace(hour=14, minute=0, second=0, microsecond=0)<br>new_scheduled_time_str = new_scheduled_time.isoformat()</p><p>data = {<br>    "status": "future",<br>    "date": new_scheduled_time_str<br>}</p><p>response = requests.post(url, auth=(username, app_password), json=data)</p><p>if response.status_code == 200:<br>    print("Post rescheduled successfully!")<br>else:<br>    print("Error rescheduling post:", response.text)</p>




重要提示

通过遵循本指南,您应该能够使用 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 插件