원본 본문으로 이동하기

XML-RPC 블로그 : 2. 포스트 등록

박용서 - XML-RPC 블로그 시리즈 XML-RPC 블로그 : 1. XML-RPC 소개 - https://gs.saro.me/#!m=elec&jn=758 XML-RPC 블로그 : 2. 포스트 등록 - https://gs.saro.me/#!m=elec&jn=759 XML-RPC 블로그 : 3. 포스트 수정 - https://gs.saro.me/#!m=elec&jn=760 XML-RPC 블로그 : 4. 포스트 삭제 - https://gs.saro.me/#!m=elec&jn=761 XML-RPC 블로그 : 5. JAVA로 구현해보자 - https://gs.saro.me/#!m=elec&jn=762 블로그 포스트 등록 - 자바를 통한 예제는 5번 강의에 올립니다. - 네이버 같은경우는 https://api.blog.naver.com/xmlrpc 에 post 로 전송하시면 됩니다. - 4번째 파라미터 같은경우 블로그마다 차이가 있지만 대부분 워드프래스와 비슷합니다. - 워드프레스 쪽이 설명이 잘되어있습니다. - 워드프레스 : https://codex.wordpress.org/XML-RPC_MetaWeblog_API - 공식사이트 : http://xmlrpc.scripting.com/metaWeblogApi.html <?xml version='1.0'?> <methodCall> <!-- 대부분 블로그 동일 글등록 명령 --> <methodName>metaWeblog.newPost</methodName> <params> <param> <!-- 블로그 ID --> <!-- 네이버 : 네이버 ID --> <!-- 티스토리 : API ID --> <value><string>ID (블로그)</string></value> </param> <param> <!-- 유저 ID --> <!-- 네이버 : 네이버 ID --> <!-- 티스토리 : 티스토리 ID --> <value><string>ID (유저)</string></value> </param> <param> <!-- 네이버 같은경우 관리에 API 코드가 있습니다. --> <value><string>API 코드</string></value> </param> <!-- 이 4번째 파라미터의 경우 member의 name 값이 블로그마다 약간 차이가 있을 수 있습니다. --> <!-- 네이버 블로그를 기준으로 작성하였습니다. --> <param> <value> <struct> <!-- 제목 --> <member> <name>title</name> <value><string>가리사니 개발자공간</string></value> </member> <!-- 카테고리 : 블로그에 해당 카테고리가 존재해야함 --> <!-- 네이버 : 그냥 스트링으로 써도 무방 --> <!-- 티스토리 : 아래처럼 Array 형태로 만들어야함. --> <member> <name>categories</name> <value> <array> <data> <value><string>카테고리</string></value> </data> </array> </value> </member> <!-- 내용 : 당연하지만 html 은 xml 이스케이프를 인코딩 해서 넣어야한다!! --> <member> <name>description</name> <value><string><h1>가리사니 개발자공간 (수정됨)</h1></string></value> </member> <!-- 태그 : 네이버 --> <!-- , 로 구분 --> <member> <name>tags</name> <value><string>태그1, 태그2</string></value> </member> <!-- 태그 : 티스토리 --> <!-- Array로 되어있음 --> <member> <name>mt_keywords</name> <value> <array> <data> <value><string>태그1</string></value> <value><string>태그2</string></value> </data> </array> </value> </member> </struct> </value> </param> <!-- 공개/출판 여부 : 비공개 글을 쓸게 아니면 보통 1이다. --> <param> <value><boolean>1</boolean></value> </param> </params> </methodCall> 티스토리의 경우는 categories, tags 를 아래와 같이 배열로 줘야합니다. <array> <data> <value><string>값1</string></value> <value><string>값n</string></value> </data> </array> 성공시 응답 <?xml version="1.0" encoding="utf-8" ?> <methodResponse> <params> <param> <value>블로그포스트번호</value> </param> </params> </methodResponse> 실패시 응답 <?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultString</name> <value>실패사유</value> </member> <member> <name>faultCode</name> <value> <int>실패코드</int> </value> </member> </struct> </value> </fault> </methodResponse> - XML/XSL/XSLT 프로토콜