네이버 블로그 xml-rpc 클라이언트 만들기 – 3

조금 더 깔끔하게 정리한 MetaWebLog API의 전체 소스.

struct 형태로 내려받는 반환값은 포스트와 관계된 내용과 카테고리와 관련된 것들인데, 카테고리는 사실 상 카테고리 제목만 가지고 있으면 되고, 포스트와 관련한 내용은 포스트 클래스로 바로 변환하여 사용할 수 있게 했다.

또한 최종적으로 불러왔거나 발행한 포스트는 내부적으로 그 ID를 기억하여 사용이 쉽도록 했다.

이전 글에서도 잠깐 소개했지만, Post 클래스에서 팩토리 메소드를 구현하기 위해 @staticmethod 데코레이터를 활용. (까먹을까봐 계속 써 둠)

사용법은 간단하다. 네이버를 기준으로 설명하면

  1. 위 파일을 임포트해서 Weblog의 객체를 생성한다. 생성시 파라미터에는 네이버아이디, api암호, api주소가 있다.
  2. wrapper가 성공적으로 생성되면 자동으로 블로그의 카테고리 정보를 가져온다. 카테고리들은 weblog.categories에 리스트로 저장된다.
  3. 최근글의 데이터는 weblog.getRecentPosts(10)와 같이 불러올 수 있다. 10개의 최신 글 데이터를 불러온다.
  4. 불러온 데이터를 Post.postFromStructs()에 전달해주면 글의 각 요소내용을 담고 있는 Post 객체로 돌려받을 수 있다. (배열이든 단일 객체든 상관없이, 집어넣을 때 형태대로 반환해준다.)
  5. 기존 글을 불러와서 편집하기에 용이하도록 가능하면 Post 객체에서 대부분의 정보를 처리하도록 했다.
  6. 태그와 카테고리는 ‘배열’의 형태를 사용하도록 했는데, 실제 네이버는 복수 카테고리를 지원하지 않는다.