Header

  1. View current page

    권남이의 스프링노트

Profile_img_60x60_01
20

MetaWeblog API

MetaWeblog API

 

기본 호출 함수들

  • metaWeblog.newPost (blogid, username, password, struct, publish) returns string
  • metaWeblog.editPost (postid, username, password, struct, publish) returns true
  • metaWeblog.getPost (postid, username, password) returns struct
  • metaWeblog.newMediaObject (blogid, username, password, struct) returns struct
  • metaWeblog.getCategories (blogid, username, password) returns array of structs : 원문에는 그냥 struct라고 돼 있다. 원문이 잘못된 것 같음.
  • metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) returns array of structs

 

struct

MetaWeblog의 struct 형은 RSS 2.0의 item 엘리먼트의 자식 엘리먼트들과 같은 이름을 사용한다.

그리고 struct는 Apache XMLRPC에서는 HashMap으로 표현된다.

따라서 Apache XMLRPC를 사용할 경우에는 HashMap을 만들어 키를 title, description 같은 RSS 2.0 의 엘리먼트들로 지정하면 된다.

 

새로운 포스ㅌ

 

Apache XMLRPC 라이브러리를 이용한 MetaWeblog 호출 예제

  1. import java.net.URL;
    import java.util.HashMap;
    import java.util.Map;

    import org.apache.xmlrpc.client.XmlRpcClient;
    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
  2.  
  3. /** http://www.egloos.com 블로그 포스팅 예제이다. */

  4. public class MetaweblogTest {

        public static final String SERVER_URL = "https://rpc.egloos.com/rpc1";
        public static final String userid = "yourid";
        public static final String password = "yourpasswd";

        public static void main(String[] args) throws Exception {

            XmlRpcClientConfigImpl xmlRpcConfig = new XmlRpcClientConfigImpl();

            xmlRpcConfig.setServerURL(new URL(SERVER_URL));

            XmlRpcClient xmlRpcClient = new XmlRpcClient();
            xmlRpcClient.setConfig(xmlRpcConfig);

            // 카테고리 목록 가져오기
            Object[] params = new Object[] { 1, userid, password };

            Object[] returnedObj = (Object[]) xmlRpcClient.execute(
                    "metaWeblog.getCategories", params);
            for (Object o : returnedObj) {
                System.out.println(" Type : " + o.getClass().getCanonicalName());

                Map map = (Map) o;
                for (Object key : map.keySet()) {
                    System.out.println("        - " + key + " : " + map.get(key));
                }
            }

            // 최근 포스트 가져오기
            params = new Object[] { 1, userid, password, 10 };
            returnedObj = (Object[]) xmlRpcClient.execute(
                    "metaWeblog.getRecentPosts", params);
            for (Object o : returnedObj) {
                System.out.println(" Type : " + o.getClass().getCanonicalName());

                Map map = (Map) o;
                for (Object key : map.keySet()) {
                    System.out.println("        - " + key + " : " + map.get(key));
                }
            }

        }
    }

 

 

 

 

History

Last edited on 05/22/2008 17:57 by kwon37xi

Comments (1)

  • zpzgsk

    포스팅 할려고 할때요, 한글은 인코딩을 어떻게 해줘야 하나요??^^

    10/19/2008 15:39
You must log in to leave a comment. Please sign in.