PHP-XMLRPC기반 metaWeblog API 정리

뒷북이 아닌가 싶지만 이번에 PhotoShake! 에 XML-RPC를 이용해 아이폰에서 편집한 이미지를 블로그로 업로드하는게 필요해서 제작하게 되었습니다. 아이폰 어플을 통해서 네이버, 티스토리 블로그 원격 업로딩이 지원될 예정이랍니다.
웹으로 구현해놓은 데모페이지는 http://lib.qnibus.com/metaWeblog/ 이곳에서 확인이 가능합니다.
현재 티스토리, 네이버블로그, 이글루스, 워드프레스에 업로딩이 되게끔 연동해놨습니다.
제가 만들면서 고생했던 부분 위주로~
파일첨부 및 카테고리 선택 후 포스트 발행이 목표입니다.
시작하기 앞서 PHP기반 라이브러리는 http://phpxmlrpc.sourceforge.net/ 이곳에서 다운로드 받으셔서 설치하시면 됩니다.
다운로드 받으시면 정말 많은 파일들이 있는데요 압축해제후 lib/xmlrpc.inc 이파일을 include 하셔서 사용하시면 됩니다.
아래의 예제를 통해서 익혀보세요!
[데모페이지]
테스트는 블로그를 선택하시어 적당히 테스트 해주시면 되겠습니다.
나머지 블로그는 어차피 사용안하는 블로그이니 부담은 갖지않으셔도 될듯 ^^;
[index.php]
이파일은 원격발행에 필요한 기본적인 폼양식을 만들어놓은 것 입니다.
상단에 환경설정은 보시고 자신의 환경에 맞게 잘 작성해주세요!
더불어 카테고리도 추출할 수 있게 만들어놓았으니 상단에 데모페이지에서 확인해보시면 되겄습니다.
[action.php]
처음에 멋도 모르고 하면 되겠지했었는데요~ 우선 이미지 첨부해서 포스팅하는 방법을 몰라서 헤맸는데 네이버 설명서(http://blog.qnibus.com/318) 보고 도움을 얻었구요!
그거 했더니 네이버에 태그와 티스토리에 카테고리가 등록이 안되서 한참을 헤맸었습니다.
태그 Parameter의 경우 mt_keywords로 사용하는데 네이버의 경우는 tags로 변경하셔야 태그가 정상등록됩니다.
티스토리는 완벽하게 카테고리를 배열로 넘겨줘야 등록됩니다. 나머지는 그냥 대충써도 넘어가구요!
빠른 피드백은 http://facebook.com/qnibus 에서 해주시면 감사하겠습니다.

Published by

안반장

Web과 App 개발을 하고 있으며 최근 워드프레스에 관심이 많아져 네이버 카페 워드프레스 홈페이지의 TF팀으로 활동 중 입니다.개인적으로는 안반장의 개발 노트라는 블로그를 운영하면서 개발의 즐거움과 고충들을 차곡차곡 담아가고 있습니다.

  • 잘보고 갑니다.~ 좋은 포스팅 계속 부탁드립니다.~ (–)(__)

    • 멋진 댓글 고맙습니다. 덕분에 힘이 나네요~!!

  • 안녕하세요, 좋은 자료 잘 보았습니다.
    예전부터 원하던 기능인데 여기에서 찾게 되었네요.
    그런데 위에 올려주신 자료를 어떻게 사용하는지 모르겠습니다.
    index.php 파일의 자료는 올려주신 예제 페이지에서 성공적으로 테스트가 되었는데 제 홈페이지에서 테스트를 하면 포스팅이 되질 않고(포스팅 성공시 success 라는 메시지가 뜨던데) 그냥 원래페이지로 이동됩니다. 참고적으로 저의 호스팅 환경은 euc-kr입니다.
    그리고 action.php 파일의 경우에는 계정부분을 설정하고 단독으로 실행하면 $postno = $value->scalarval(); 이 부분에서

    Fatal error: Call to a member function scalarval() on a non-object in …

    라는 에러가 뜨는데요, 원인을 잘 모르겠습니다.
    두번째 파일의 경우에는 단독으로 실행을 시키는게 아니라 인클루드를 해서 사용하는 것 같은데요, 카테고리, 제목, 내용, 태그, 파일을 어느부분에서 일치시켜줘야 되는지 알 수 있을까요?
    그리고, 한번의 포스팅으로 계정을 설정한 각각의 사이트에 모두 일괄적으로 포스팅되는건가요?

    염치없지만 해결책을 부탁드려봅니다…^^

  • dxmlrpc

    $uploadFileName = $tempResponse->value()->me[‘struct’][‘url’]->me[‘string’];
    전 여기서 Parse error: syntax error, unexpected T_OBJECT_OPERATOR i
    www/xmlrpc/post.php on line 68에러가 걸리는데.. 혹시 같은 사항 겪으신분 계시나요?