미투데이에는 글배달 기능이 있습니다. 하루동안 작성했던 내용들을.. 매일 새벽 4시경 (조정가능함) 블로그로 내보낼 수 있는 기능을 제공합니다. 그런데 얼마전부터! 선별적 글배달 기능이 제공되기 시작했습니다. 즉, 포스팅하고 싶은 글들을 아래와 같이 콕! 콕! 찍어서

블로그 API로 푸슝~ 쏩니다. -_-/~

블로그로 포스팅하는 데 쓰이는 API로 MetaWeblog가 있고, 지금은 구글이 인수하여 GData로 승천하여 deprecated된 Blogger api, MovableType 가 있습니다. 티스토리, 텍스트큐브, 이글루스 등이 이런 API들을 잘 지원합니다.
그러나 제 블로그는 사제-_- 블로그라.. API 가 있고 미투데이에서 그것을 지원하는지 안하는지 체크하는 방식이 아니라, 일단 /api/me2day 로 아무 처리도 하지 않는 서블릿을 만들어놓고 무슨 요청을 하는지 구경하여 --; 만들었는데요. 꼭 필요한 거 아니면 안만드는, 확장성은 확장할 때만 고려하는 개발자이기 때문에 -- 이런 류의 작업을 할 때도 리버스 엔지니어링을 합니다 -.-
하여간 미투데이는..
블로그 설정을 위해 Blogger.getUsersBlogs 로 블로그 API 주소의 유효성과 입력한 id/pw를 체크하고, 그 직후 metaWeblog.getRecentPosts 를 연이어 부릅니다.
metaWeblog.getRecentPosts
metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) returns array of structs
Each struct represents a recent weblog post, containing the same information that a call to metaWeblog.getPost would return.
If numberOfPosts is 1, you get the most recent post. If it's 2 you also get the second most recent post, as the second array element. If numberOfPosts is greater than the number of posts in the weblog you get all the posts in the weblog.
그러나 getRecentPosts 의 데이터가 사용되는 곳은 없나봅니다. 저같은 경우 하드코딩된 fake entry 를 리턴하도록 해뒀는데 (코딩하기 귀찮으니 -_-) 아무런 문제가 없었습니다. 하드 코딩할 때는 ociweb 의 WAX를 써서 소스코드를 다음처럼 쵸큼 이쁘게 만들어 봤습니다.

마지막으로 글배달에 쓰이는.. metaWeblog.newPost만 처리하면 됩니다. newPost 로 보내준 xml 문서에서 description 부분을 unescape 하여 내용 부분에 떠억- 하니 넣으면 땡입니다.
그런데 어제 미투데이에서 보낸 글을 보면 댓글까지 export 되어 있는 것을 볼 수 있는데요.
어떻게 한 것이냐하면- metaWeblog.newPost 의 description 부분을 받아 블로그 내용을 쓰기 전에 살짝 다음과 같은 filter을 만들어 걸었습니다.
String 을 파라미터로 넘겨 댓글이 포함된 String 을 리턴하도록 하는 Me2dayTools 클래스의 소스코드는 아래에서 구하실 수 있습니다.
Me2dayTools.java.html (예쁘게 보기) Me2dayTools.java (다운로드 받기)
소스코드 내용을 보면 알겠지만 export된 미투 포스트의 퍼머링크를 정규식으로 찾고, 각 포스트의 고유 아이디를 가져오기 위해 getPosts를 불러 얻은 아이디를 다시 getComments에 넘겨 코멘트를 얻어오고 코멘트 내용을 마크업하여 기존 description 마크업에 꾸겨 넣는 것입니다.
개조하는 인생은 즐겁습니다. ![]()
Comments
3 thoughts shared
Continue Reading
Discover more thoughts and insights
입사 7주차, 내가 이렇게 열심히 살다니
입사 7주차에 써보는 회사생활 리뷰. 무례하게 푸시하는 사람이 아무도 없는데 개발자 특유의 자긍심을 서로 자극해가며 선순환을 이루어 일을 열심히 하고 있다. 환경과 관계가 개개인을 자극하여 자연스레 이뤄진 것인데
혼자하는 Wicket 스터디
오늘부터 시작- Comments 붉은달리아 http://intsix.com 2008-06-17T00:51:35.000Z 공부 절라 안되라~ 저주저주저주
젠투리눅스 설치기!
HanIRC의 까나리님과 leanblue(codethread)님의 권유로 데스크탑에 Gentoo Linux를 설치하게 되었습니다. 다들 젠투 좋다고 젠투로 오라고 하셔서 쉽게 꼬임(?)에 넘어갔는데, 막상 설치하기