본문 바로가기

TIP&TECH

xml-rpc 를 이용한 티스토리(tistory) metaweblog api 자바(java)프로그래밍.

/*
    metaweblog api 사용하여 티스토리에 게시물 작성하기
    xml-rpc 3.1 사용
*/


import
java.util.*;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
public class JavaClient {
 // The location of our server.
 private final static String SERVER_URL = "http://name.tistory.com/api";
 //ex) 티스토리 환경설정 > 기타설정 하단에 있어요.
 public static void main(String[] args) {
  try {
   XmlRpcClient server = new XmlRpcClient();
   XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
   //구버젼에선 XmlRpcClient 객체를 생성할때 주소를 지정했지만 xmlrpc 3.x대에선
   //XmlRpcClientConfigImpl 객체를 통해서 지정하는거 같습니다.

   config.setServerURL(new java.net.URL(SERVER_URL));
   // Build our parameter list.
   Vector params = new Vector();
   params.addElement(new String("Blog API Blog ID"));
   //ex) 143222 티스토리 환경설정 > 기타설정 하단에 있어요.
   params.addElement(new String("Tistory 로그인 아이디"));
   //ex) 티스토리는 이메일주소를 쓰죠?
   params.addElement(new String("Tistory 비밀번호"));
   //비밀번호 다들 아시죠?
   
   Hashtable hashtable = new Hashtable();
   hashtable.put( "title", "제목을 입력하세요" );
   hashtable.put( "description", "내용을 입력하세요." );
   hashtable.put( "mt_keywords", "태그를 입력하세요.");
     String category[] = new String[1];
     category[0] = "분류이름을 입력하세요";
   hashtable.put( "categories", category);

   params.addElement(hashtable );
   params.add( new Boolean( true ));
   //true몇 공개 false면 비공개
   System.out.println(server.execute(config, "metaWeblog.newPost", params));
   //포스팅된 번호가 나옵니다.
   
  } catch (XmlRpcException exception) {
   System.err.println("JavaClient: XML-RPC Fault #" + Integer.toString(exception.code) + ": " + exception.toString());
  } catch (Exception exception) {
   System.err.println("JavaClient: " + exception.toString());
  }
 }
}