Article

PHP: 네이버 블로그 XMLRPC API로 글 자동 작성

네이버 블로그를 프로그래밍으로 자동화하기

네이버 블로그는 공식 XMLRPC API를 제공합니다. 이를 활용하면 웹 인터페이스 없이 PHP 코드로 직접 블로그 글을 작성, 수정, 삭제할 수 있습니다. 정기적인 포스팅이나 데이터 기반 콘텐츠 생성이 필요한 경우 매우 유용합니다.

설치 및 준비

Composer로 라이브러리 설치

composer require lovizu/naver-blog-xmlrpc

API 연결 암호 획득

  1. 네이버 블로그 관리 페이지 접속
  2. 설정 → API 메뉴에서 API 연결 암호 확인 및 복사

기본 사용법

연결 초기화

require 'vendor/autoload.php';

$blogId = 'your-naver-id';
$blogPass = 'api-connection-password';
$endPoint = 'https://api.blog.naver.com/xmlrpc';

$naverBlog = new NaverBlogXml($blogId, $blogPass, $endPoint);

글 작성

기본 작성

$postId = $naverBlog
    ->setItem('글 제목', '글 내용')
    ->post();

카테고리 추가

$naverBlog
    ->setItem('제목', '내용')
    ->setCategory('카테고리명')
    ->post();

카테고리명에 띄어쓰기가 포함되면 정확히 입력해야 합니다.

태그 추가

// 배열로 지정
$naverBlog
    ->setItem('제목', '내용')
    ->setTags(['태그1', '태그2', '태그3'])
    ->post();

// 쉼표로 구분하여 지정
$naverBlog
    ->setItem('제목', '내용')
    ->setTags('태그1,태그2,태그3')
    ->post();

비공개 글

$naverBlog
    ->setItem('제목', '내용')
    ->setSecret()
    ->post();

글 수정 및 삭제

글 수정

$postId = '123456';
$naverBlog
    ->setItem('새 제목', '새 내용')
    ->post($postId);

글 삭제

$postId = '123456';
$naverBlog->delBlog($postId);

이미지 처리

본문에 포함된 이미지 태그는 자동으로 네이버 서버에 업로드되고 URL이 변환됩니다. 별도의 이미지 처리 로직이 필요 없습니다.

실무 팁

  • 수정 방식: 기존 글 삭제 후 새로 작성하는 방식으로 구현됨
  • 대량 작성: 지연(delay)을 추가하여 서버 부하 분산
  • 보안: API 연결 암호는 절대 버전관리에 포함시키지 말 것
  • 체이닝: setItem, setCategory, setTags, setSecret 등을 체이닝으로 조합 가능

마치며

네이버 블로그를 프로그래밍으로 자동화하면 정기적인 포스팅, 데이터 기반 콘텐츠 생성, 그리고 다양한 소스로부터의 집계 글 작성 등이 가능합니다. XMLRPC API의 단순하면서도 강력한 기능을 활용해 블로그 운영 업무를 효율화할 수 있습니다.

댓글