2014. 3. 21. 04:52
이글루스 metaWeblog API (XML-RPC) JAVA 샘플 예제 OpenAPI/이글루스2014. 3. 21. 04:52
이글루스 블로그 XML-RPC MetaWeblog API를 이용한 글쓰기 JAVA예제
현재 이글루스의 OAuth 인증이 먹통이라, XML-RPC로 테스트해봤다.
티스토리나 다음처럼 OAuth기반의 RESTful 방식의 API가 지원된다면, XML-RPC는 사실 쓸 이유가 없는 api다.
XML-RPC로 프로그램을 구현할 경우, 유저들의 ID/인증키를 입력하게 하는 방식은 여전히 보안에 취약하고 악용될 소지가 많다.
1. 어쨌든... 블로그 관리 > 기본설정 > API Key 메뉴의 XML-RPC 정보를 클릭
2. API Key를 발급한다
3. Apache XML-RPC 라이브러리를 다운받고 classpath 설정
http://archive.apache.org/dist/ws/xmlrpc/binaries/apache-xmlrpc-3.1.3-bin.zip
4. JAVA 샘플
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | package com.xmlrpc.naver; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; public class XmlRpcEgloosBlog { static final String API_URL = "https://rpc.egloos.com/rpc1"; static final String API_ID = "ID를 입력"; static final String API_PASSWORD = "API Key를 입력"; public static void main(String[] args) { // TODO Auto-generated method stub try { XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL(API_URL)); Map<String, String> contents = new HashMap<String, String>(); contents.put("categories", "테스트1"); // 카테고리 텍스트 contents.put("title", "여기에 제목을 쓰고"); // 제목 contents.put("description", "여기에 내용을 쓰세요."); // 내용 contents.put("mt_keywords", "태그1, 태그2, 태그3"); // 태크 콤마로 구분한다. List<Object> params = new ArrayList<Object>(); // 블로그ID를 넣으라는데 아무거나 넣어도 들어간다. params.add(API_ID); // API ID params.add(API_ID); // API 암호 params.add(API_PASSWORD); // 블로그 컨텐츠 params.add(contents); // 공개여부 true이면 공개, false면 비공개 params.add(new Boolean(true)); XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); String rsString = (String) client.execute("metaWeblog.newPost", params); System.out.println(rsString); }catch(Exception e) { e.printStackTrace(); } } } |
네이버 블로그하고 다른점은...
네이버는 태그의 key값이 "tags"였고, 이글루스는 "mt_keywords"라는 점
'OpenAPI > 이글루스' 카테고리의 다른 글
이글루스 API OAuth JAVA 인증 500에러 (1) | 2014.03.17 |
---|