"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > WordPress API 사용에 대한 종합 가이드: 인증 및 사후 예약

WordPress API 사용에 대한 종합 가이드: 인증 및 사후 예약

2024년 11월 17일에 게시됨
검색:927

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

이 가이드에서는 WordPress API로 인증하고 특정 게시 시간에 게시물을 예약하는 방법을 살펴보겠습니다. 이 단계는 WordPress 콘텐츠를 프로그래밍 방식으로 안전하게 관리하는 데 도움이 됩니다.

WordPress API를 통한 인증

WordPress API와 안전하게 상호작용하려면 요청을 인증해야 합니다. 두 가지 일반적인 접근 방식을 살펴보겠습니다.

애플리케이션 비밀번호

애플리케이션 비밀번호는 기본 계정 비밀번호를 손상시키지 않고 API 액세스를 위한 보안 비밀번호를 생성할 수 있는 WordPress에 내장된 기능입니다.

  1. WordPress 관리 대시보드에 로그인하세요.
  2. 사용자 → 프로필로 이동합니다.
  3. '애플리케이션 비밀번호' 섹션까지 아래로 스크롤하세요.
  4. 애플리케이션 이름을 입력하세요(예: "API 액세스").
  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 .comdelete
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3