php中文网

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

php中文网

在本指南中,我们将探索如何使用 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 网站使用 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 插件

以上就是使用 WordPress API 的综合指南:身份验证和后期调度的详细内容,更多请关注php中文网其它相关文章!