본문 바로가기
자동포스팅

워드프레스 REST API 를 활용하여 자동포스팅하는 방법

by 마자동 2023. 6. 2.
반응형

파이썬 워드프레스 REST API 활용방법

아래의 코드 예제는 파이썬에서 이미지 첨부와 메타데이터 설정을 포함한 워드프레스 포스팅을 생성하는 방법을 보여줍니다.

코드 실행 전에 requests 라이브러리가 설치되어 있는지 확인해주세요.

import requests
import json

# 워드프레스 REST API 엔드포인트 URL
url = 'https://your-wordpress-site/wp-json/wp/v2/media'

# 이미지 업로드
image_path = 'path/to/your/image.jpg'
files = {'file': open(image_path, 'rb')}
auth = ('your-username', 'your-password')
response = requests.post(url, files=files, auth=auth)

# 업로드된 이미지의 ID 가져오기
if response.status_code == 201:
    image_id = response.json()['id']
    print('이미지가 성공적으로 업로드되었습니다.')
    print('이미지 ID:', image_id)
else:
    print('이미지 업로드에 실패하였습니다.')
    print('에러 메시지:', response.text)
    exit()

# 포스트 생성에 필요한 데이터
post_data = {
    'title': '새로운 포스트',
    'content': '이것은 새로운 포스트입니다.',
    'status': 'publish',
    'featured_media': image_id,  # 이미지 ID
    'meta': {
        'key1': 'value1',  # 원하는 메타데이터 키-값 쌍 추가
        'key2': 'value2'
    }
}

# 포스트 생성 요청 보내기
post_url = 'https://your-wordpress-site/wp-json/wp/v2/posts'
response = requests.post(post_url, json=post_data, auth=auth)

# 응답 결과 확인
if response.status_code == 201:
    post_id = response.json()['id']
    print('포스트가 성공적으로 생성되었습니다.')
    print('포스트 ID:', post_id)
else:
    print('포스트 생성에 실패하였습니다.')
    print('에러 메시지:', response.text)

위의 코드에서 your-wordpress-site을 워드프레스 사이트의 도메인으로, your-username과 your-password를 워드프레스 관리자 계정의 사용자명과 비밀번호로 바꿔주세요. image_path에는 업로드할 이미지의 파일 경로를 지정해야 합니다. post_data 변수에는 포스팅할 제목, 내용, 상태, 이미지 ID 및 원하는 메타데이터를 포함하고 있습니다.

위의 코드를 실행하면 이미지가 업로드되고, 포스트가 생성되었는지에 대한 결과가 출력됩니다. 성공적으로 포스트가 생성된 경우 포스트의 ID도 출력됩니다.

이 예제에서는 하나의 이미지만 첨부하는 예제이며, 원하는 만큼 이미지를 첨부할 수 있습니다. 이미지 첨부를 위해서는 이미지 파일의 경로를 지정하고 files 매개변수에 파일 객체를 전달해야 합니다. 또한, 메타데이터는 meta 속성을 사용하여 설정할 수 있습니다. 필요에 따라 추가적인 메타데이터를 설정하려면 meta 딕셔너리에 원하는 키-값 쌍을 추가하면 됩니다.

메타데이터란?

워드프레스에서 "메타데이터"는 포스트나 페이지와 관련된 추가적인 정보를 나타냅니다. 이 정보는 특정 포스트나 페이지의 속성, 특성 또는 사용자 정의 필드와 같은 것을 나타낼 수 있습니다.

예를 들어, 워드프레스에서 기본적으로 제공되는 메타데이터로는 포스트의 작성자, 작성일, 수정일, 공개 여부 등이 있습니다. 그리고 사용자는 필요에 따라 추가적인 메타데이터를 정의하여 원하는 정보를 저장할 수도 있습니다.

메타데이터는 키-값 쌍으로 구성되어 있습니다. 키는 해당 메타데이터의 이름이며, 값은 해당 메타데이터에 대한 실제 데이터입니다. 예를 들어, "포스트 유형"이라는 메타데이터 키에 "블로그"라는 값을 할당할 수 있습니다.

메타데이터는 REST API를 통해 설정할 수 있으며, meta 속성을 사용하여 데이터를 전달합니다.

반응형

댓글