"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Una guía completa para usar la API de WordPress: autenticación y programación de publicaciones

Una guía completa para usar la API de WordPress: autenticación y programación de publicaciones

Publicado el 2024-11-17
Navegar:873

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

En esta guía, exploraremos cómo autenticarse con la API de WordPress y programar publicaciones para horarios de publicación específicos. Estos pasos te ayudarán a administrar tu contenido de WordPress de forma programática y segura.

Autenticación con API de WordPress

Para interactuar con la API de WordPress de forma segura, debe autenticar sus solicitudes. Profundicemos en dos enfoques comunes:

Contraseñas de aplicaciones

Contraseñas de aplicaciones es una función incorporada en WordPress que le permite generar contraseñas seguras para el acceso a la API sin comprometer la contraseña de su cuenta principal.

  1. Inicie sesión en su panel de administración de WordPress.
  2. Navega a Usuarios → Perfil.
  3. Desplácese hacia abajo hasta la sección "Contraseñas de aplicaciones".
  4. Ingrese un nombre para la aplicación (por ejemplo, "Acceso API").
  5. Haga clic en "Agregar nueva contraseña de aplicación".
  6. Copia la contraseña generada (no podrás volver a verla).

Para utilizar la contraseña de la aplicación:


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)




Complemento de autenticación básica

Para versiones anteriores de WordPress o si prefieres un método alternativo:

  1. Descargue el complemento de autenticación básica desde el repositorio GitHub de WordPress.org.
  2. Instala y activa el complemento en tu sitio de WordPress.
  3. Utilice su nombre de usuario y contraseña habituales de WordPress para la autenticación.

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)




Publicar publicaciones en momentos específicos

Para programar publicaciones para su publicación en momentos específicos, use el parámetro de fecha al crear o actualizar una publicación. Así es como:

Crear una publicación programada


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)




Actualizar la programación de una publicación existente

Para reprogramar una publicación existente, necesitarás su ID de publicación:


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)




Notas importantes

  • Asegúrese de que su sitio de WordPress utilice HTTPS para una comunicación segura.
  • Mantenga segura la contraseña de su aplicación o su contraseña habitual y nunca la comparta.
  • El parámetro de fecha debe estar en formato ISO 8601 (AAAA-MM-DDTHH:MM:SS).
  • La API de WordPress utiliza la hora UTC, así que ajusta tus horarios programados en consecuencia.
  • Establece el estado de la publicación en "futuro" para las publicaciones programadas.
  • También puedes usar el parámetro date_gmt para especificar la hora en GMT/UTC directamente.

Al seguir esta guía, deberías poder autenticarte con la API de WordPress y programar publicaciones para horarios de publicación específicos mediante programación.

Citas:

  1. Autenticación – Manual de API REST | Desarrollador.WordPress.org
  2. API REST de WordPress: cómo acceder, utilizarla y protegerla (tutorial completo)
  3. Autenticación de API REST de WordPress – Complemento de WordPress | WordPress.org
  4. Una guía para principiantes sobre los conceptos básicos de la API de WordPress - Blog GetDevDone
  5. ¿Qué es la API REST de WP y cómo protegerla? API de descanso de WordPress
  6. Autenticación API REST de WordPress | Complemento de WordPress
Declaración de liberación Este artículo se reproduce en: https://dev.to/bramburn/a-comprehensive-guide-to-using-the-wordpress-api-authentication-and-post-scheduling-27me?1 Si hay alguna infracción, por favor contacto Study_golang@163 .comeliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3