주제: Blog API 사용해서 클라이언트를 만들다가 막히네요
뒤늦게야 우연히 테터의 Blog API를 알게 되었답니다. ^^;
제가 지식이 짧은터라 첨엔 blogger v1, metaWeblog, MovableType(mt) 등이 클라이언트 어플인줄 알고
한참 인터넷을 뒤지면서 다운로드 받아서 쓰려는 어뚱한 짓을 했네요. ㅋㅋ
암튼 몇시간 뒤져보고 테터 소스중 blog.api.php 파일을 보구선 대략 감을 잡았답니다.
그리고는 3가지 규약? 중 metaWeblog 를 사용해서 클라이언트 샘플을 하나 만들기로 했답니다.
우선 XMLRPC 관련 라이브러리를 하나 구해서 통신을 시도해 봤는데 첨엔 뭐가뭔지 몰라서 많은 시행 착오를
격었답니다. 지금와서 생각해보니 대부분 데이터 타입 문제가 많았던것 같습니다.
암튼 아래와 같은 6개 함수의 통신이 정상적으로 돌아가더군요.
metaWeblog_newPost();
metaWeblog_getPost();
metaWeblog_getCategories();
metaWeblog_getRecentPosts();
metaWeblog_editPost();
metaWeblog_newMediaObject();
처음에 가장 많이 고민했던 문제는 metaWeblog_newPost 를 사용해 글을 올릴때 정상적으로 올라가지만
카테고리가 적용되지 않는 문제였는데 몇시간 헤메다가 알게된 내용인즉 'categories' 의 파라미터 데이터
형식이 String 이 아니라 Array 로 보내줘야 되더군요. 테터에선 글 하나에 카테고리가 하나라 그냥 String
타입을 고집하면서 왜 문제가 계속 발생되는지 고민고민 하다가 타입 변경으로 한방에 해결되니 허무하더군요
여튼 기본에 충실해야... ㅎ
모든 API의 검증이 완료되긴 했는데 한가지 의문점이 생겼답니다. metaWeblog_getPost() 를 사용하면
올려져 있는 글의 내용을 정상적으로 다운로드 받긴 하는데 문제는 해당글 사이사이에 있는 이미지들이
웹사이트 경로가 아닌 치환자로 돌아온답니다. 아래와 같이요...
>>> [##_1C|123.jpg|width="10" height="10" alt="사용자 삽입 이미지"|_##]
이 치환자 형식의 주소를 실제 주소로 변경해서 이미지를 보여주고 싶은데 어떤 방법을 사용할 수 있는지
궁금하네요?
metaWeblog_newPost() 를 사용해 글을 올릴때 포함되는 이미지는 이미지 업로드시 사용하는
metaWeblog_newMediaObject() 함수가 반환갑으로 이미지 주소를 반환하기 때문에 문제 없지만...
혹시나 하는 생각에 MS Live Writer 를 띄우고 테스트 해봤더만 Live Writer 로 작성한 글을 읽어올때는
정상적으로 가져오지만 기존에 작성했던 글을 읽어오면 Live Writer 도 이미지 부분을 치환자로 가져
오는군요.
그냥 클라이언트에서 알아서 파싱해서 사용해야 하는걸까요? 음... 고민입니다.
좋은 방법 있는분 답좀 주세요~
가을이라 그런지 여행이나 가고 싶군요 ㅎㅎ
ShockUtility (2007-10-07 02:09:10)에 의해 마지막으로 수정