미투데이에는 글배달 기능이 있습니다. 하루동안 작성했던 내용들을.. 매일 새벽 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
사람은 왜 만족을 모르는가?
읽은지는 3개월정도 지난 책이지만, 3개월만에 다시 읽으니 역시 다 까먹었었다. 다시 읽어도 좋길래, 임팩트가 큰 것들을 포스트하고 이를 주기적으로 읽어야겠다. 처음에 나는 직장만 구하면 행복할 줄 알았는데
장시간에 걸친 사고를 정리하다
본좌에게 장시간은 72시간 이상이다. 뇌내 컨텍스트 스위칭 성능이 떨어져서, 머리속에 토픽이 하나 들어오고나면 어떻게든 마무리 짓지 않고는 생각을 멈추지 않는다. 그런 의미에서 72시간은 내게 상당히 긴
'괴테와의 대화' 1825년 3월 27일 일요일 에서
소프트웨어 이야기인줄 알았다. 이렇게 멋진 극장에는 아름다운 무대 장식과 지금까지보다는 더 나은 의상이 필요할 거라고 누군가가 말했다. 그리고 또 단원들의 수도 점차 부족해져 가고 있는 실정이므로 연극을 하든