'openAPI'에 해당되는 글 4건

  1. 2008.01.10 XML-RPC의 이해 01 1
  2. 2008.01.10 Daum openAPI개발에 필요한 JAR파일
  3. 2008.01.10 다음 openAPI 시작하기 3
  4. 2008.01.10 openAPI를 시작하면서

XML-RPC의 이해 01

openAPI 2008. 1. 10. 21:33

XML-RPC를 이해해야만이 보다 수월하게
본 openAPI를 이용할 수 있습니다.
그래서 먼저  XML-RPC에 대해 선수학습을 수행하도록 하겠습니다.


XML-RPC란 무엇인가?
 > HTTP를 통한 간단하고 이식성 높은 원격 프로시져 호출 방법입니다.
XML-RPC는 Perl, Java, Python, C, C++, PHP 와 그 외 다른 많은 언어로 사용할 수 있으며 Unix, Windows, 그리고 Macintosh에서 실행할 수 있습니다.


XML-RPC는 어떻게 작동하는가?
 > 아래그림에서 보듯 XML-RPC는 외부로부터 우입받은 데이터를 XML로 제가공을 합니다.
내부적으로 가공한 XML은 리모트 HTTP서버에 자신이 생성한 XML정보를 전송합니다.
물론 수신측에서도 이에 상응하는 받을 준비를 해야겠죠.
이때 우리는 보내는 쪽을 client라고 설명을 하고 있고 받는쪽을 server라고 총칭합니다.

사용자 삽입 이미지
바로 위 시접에서 우리는 왼쪽에 있는 데이터를 전송하는 작업을 진행하면 되고 openAPI를 제공
하는 서버측에서는 이에상응하는 method 만들어 놓고 넘어올 데이터 맞이할 준비를 하고 있습니다.

우리가 만들어야 하는 모듈은 client모듈을 만들어야 하는 미션이 수행해야하는 과제인데요.
일반적으로 client모듈을 생성할때 XmlRpcClient 를 사용하게 됩니다.


아래는 KLDPwiki 에서 제공한 소스코드입니다.
http://wiki.kldp.org/wiki.php/DocbookSgml/XML-RPC-HOWTO#XMLRPC-HOWTO-INTRO


import java.util.Vector;
import java.util.Hashtable;
//import helma.xmlrpc.*;
import org.apache.xmlrpc.*;  // helma.xmlrpc.* -> org.apache.xmlrpc.* 로 변경, 2004.1.26, thkim86@하나포스.com

public class JavaClient {

    // The location of our server.
    // 아래의 서버프로그램을 로컬호스트에서 기동하는 경우에 테스트하기 위해서 url 변경
    // 변경자 : thkim86@하나포스.com, 2004.1.26
    private final static String server_url =
        "http://localhost:8080";
        //"http://xmlrpc-c.sourceforge.net/api/sample.php";


    public static void main (String [] args) {
        try {

            // Create an object to represent our server.
            XmlRpcClient server = new XmlRpcClient(server_url);

            // Build our parameter list.
            Vector params = new Vector();
            params.addElement(new Integer(5));
            params.addElement(new Integer(3));

            // Call the server, and get our result.
            Hashtable result =
                (Hashtable) server.execute("sample.sumAndDifference", params);
            int sum = ((Integer) result.get("sum")).intValue();
            int difference = ((Integer) result.get("difference")).intValue();

            // Print out our result.
            System.out.println("Sum: " + Integer.toString(sum) +
                               ", Difference: " +
                               Integer.toString(difference));

        } 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());
        }
    }
}




 

- xmlrpc-2.0-plp.jar  (XML RPC 통신에 필요한 API)
- junit.jar (모든개발 프로젝트에 꼭 들어가는 유닛 테스터)
- log4j-1.2.8.jar (모든개발 프로젝트에 꼭 들어가는 로그 기록)
- commons-httpclient-2.0.jar  (Apache에서 제공한 httpclient)
- commons-logging-1.1.jar  (Apache에서 제공한 logger)
- commons-codec.jar (Apache에서 제공한 codec)

다음 dna를 통해 openAPI를 시작해 보도록 합시다
우선 다음에서 제공하는 몇개의 key를 선물로 받아야 됩니다.

dna.daum.net 에 접속하시면 화면 왼쪽 아래에 아래와 같은 이미지 버튼이 보입니다.
이곳에서 openAPI 사용에 필요한 키를 제공 받도록 합니다.

사용자 삽입 이미지

키를 발급받게 되면 아래와 같이 "나의 인증키 발급 목록" 이라는 메뉴에
아래와 같이 인증받은 Key들이 나옵니다.
사용자 삽입 이미지

이중에서 일반적인 검색의 경우에는 url + apikey 조합으로도 유용이 가능하지만
블로그의 경우에는 "서명키" 라는것이 눈에 보입니다.
서명키는 글을 쓰기위한 비밀번호와 같은것으로 발급을 반드시 받아야 하고
XML-RPC를 이용한 작업을 하실적에는 꼭 필요한 key 입니다.


화면에서 보이는 "보기" 버튼을 클릭하면 서명키를 제공받는 부분이 나옵니다.
이렇게 말이죠 ^^

간단하게 조회용으로 사용하실때에는 이용하실 필요가 없지만
글을 넣거나 댓글을 달거나 할때는 서명키는 꼭 필요하니 주의하시기 바랍니다.

사용자 삽입 이미지

이상과 같이 DAUM oepnAPI KEY를 제공받는게 모두 마쳐졌습니다.
이제 발급받은 키를 가지고 몇가지 작업을 해보도록 하겠습니다.

다음편! 개봉박두!!

openAPI를 시작하면서

openAPI 2008. 1. 10. 20:32
무한 공유!
바로 이것이 openAPI의 매력이다.

1 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!