미투데이에는 글배달 기능이 있습니다. 하루동안 작성했던 내용들을.. 매일 새벽 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
2014년 끝내는 기념
어느덧 마지막 포스팅을 한지 6개월이 지났다. 처음 몇주동안은 괜찮았으나 시간이 지나면 지날수록 글쓰기를 미룬 자신의 게으름을 무마할만큼 높은 품질의 글을 써야한다는 압박을 받게 된다. 글을 매일매일 쓰면서 '오늘
SMS MO로 좀 더 편하게 살기 - Lifepod 편
SMS MO를 아는가? Mobile Originate 다. 무수히 쏟아져내리는 sms 알림 메시지들이 SMS MT(Mobile Terminated) 이다. 조금만 더 있으면 스팸메일의 권위와 아성을 무너뜨릴
코드 배포할 때마다 50만원
DeFi 얼탱이 없는 점 하나. 가스비와 이더가 함께 치솟아서 내 코드 한 번 배포할 때마다 50만 원이 든다는 거다. 함수 하나 살짝 고쳐도 50만 원 태우고 다시 배포해야 해서 빠른 첫 릴리즈나 잦은