JavaScript

카카오 API 로 책 정보 검색 하기

블린더르 2019. 2. 1. 15:57

카카오 API 를 사용하기 위해서는 우선 등록해야 한다.

카카오 디벨로퍼 에 들어가서 아래 쪽에 앱 개발 시작하기를 눌러 등록 후
앱 만들기를 눌러서 애플리케이션을 하나 만들어 주면 사전 설정이 끝난다.

카카오에서 제공하는 개발가이드를 확인해보자.

우리는 REST API 중 검색 API를 이용할 것이다.
REST API 개발가이드 REST API 책검색 를 보면

Request 에 들어가는 값 과 Response 로 받아오는 JSON 객체의 내용이 나온다.

이제 코드로 작성해보자

이런 책 데이터를 입력 하는 폼에서 ISBN 을 검색해서 나오는 책 데이터를 자동으로 폼에 넣어볼 것이다.

ISBN 에 있는 검색 버튼을 누르면 함수가 작동하도록 button 태그에

onclick="searchISBN($('#isbn').val());"

onclick 이벤트를 작성한다.

이제 작동하는 함수를 만들어 보자.

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
function searchISBN(isbn){
    event.preventDefault();
    if(isbn !== undefined && isbn !== ""){
        $.ajax({
          url: "https://dapi.kakao.com/v3/search/book",
          headers: {'Authorization''KakaoAK '+ key},
          type : "get",
          data:{
              query: isbn,
             target:'isbn'
          },
          success : function(result){
              let data = result.documents[0];
              $("#title").val(data.title);
              $('#author').val(data.authors);
              $('#pub').val(data.publisher);
              $('#price').val(data.price);
              $('#info').val(data.contents+"...");
              let date = data.datetime.split('T')[0];
              $('#date').val(date);
              $('#translator').val(data.translators);
          }
      });
    }
}

isbn 의 내용이 있을 경우에만 작동하도록 했다

ajax를 이용하여 데이터를 전송하고 받아온다.

카카오에서 제공해준 REST API 키 값은 headers 에 넣어주면 되는 데

위에 코드에서는 파일에 저장된 키를 불러오도록 되어 있다.

그냥 쓸 경우에는 headers: {'Authorization': 'KakaoAK key'} 형식으로 적어주면 된다. (KakaoAK 와 key 값 사이에 공백이 있다)

type은 get 방식으로 보내며

data에는 들어가는 내용은 다음과 같다.

JSON 형식으로 넣어줄 내용을 적어준다.

Response 로 받아오는 JSON 객체는 다음과 같은 내용을 담고 있다

콘솔로 result 를 출력해보면 이렇게 나온다.

필요한 내용인 제목, 저자, 출판사, 가격, 책 소개, 발간일, 역자 정보를 받아서 폼에 넣어준다.

이런식으로 내용이 폼에 들어가게 된다.

모든 정보를 주지는 않으니 필요한 정보만 받아오고 부가적인 데이터는 따로 넣어줘야 한다.

반응형