-
[NodeJS] KAKAO BOOK OPEN API 사용하는 법Server/NodeJS 2020. 8. 14. 13:50728x90반응형
이번 글에서는 NodeJS를 이용해서 KAKAO OPEN 책 검색 API를 요청해보는 예제를 진행해보려 한다.
(REST API 키는 발급받았다는 가정하에 글을 쓰도록 하겠다.)
https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide
위의 사이트에 들어가서 "책 검색" 부분을 찾아보자.
그러면 위와 같이 설명이 되어 있는 부분을 찾을 수 있을 것이다. 어떻게 호출을 해야 하는 것인지에 대해서 간략하게 살펴보자.
먼저 Parameter를 보면 query는 필수로 보내줘야 한다는 것을 알 수 있다. 그리고 GET 방식으로 요청을 해야 하며, 요청 URL 등을 확인할 수 있다. 이렇게만 말하면 감이 잘 오지 않기 때문에 NodeJS 코드를 보면서 확인해보자.
1. express & express-gengerator 설치하기
npm install -g express express-generator express 프로젝트이름
2. 모듈 설치
npm install npm install request
여기서 주의깊게 봐야할 것은 request 모듈이다. request 모듈은 아래의 블로그에서 확인하자!
https://senticoding.tistory.com/38
간략하게 현재 사용할 부분에 대해서만 request 모듈을 NodeJS 코드와 함께 이해해보자.
const express = require('express'); const router = express.Router(); const request = require('request'); let kakaoOptions = { url: 'https://dapi.kakao.com/v3/search/book?target=title', // target에 해당하는 것을 적기 method: 'GET', headers: { 'Authorization': 'KakaoAK (REST API KEY)' }, qs: { query : '미움받을용기' // 현재 책으로 검색할 것이라 책 제목을 적었다. }, encoding: 'UTF-8', } request(kakaoOptions, function (err, res, body) { if (!err && res.statusCode == 200) { console.log(JSON.parse(body)); } }) module.exports = router;
위의 코드가 동작하는 원리에 대해서 설명하자면, 먼저 kakaoOptions에 요청할 URL을 적어주고(책 제목으로 검색할 예정이기 때문에 target=title 이라고 하였다), headers 안에는 KAKAO Develop 홈폐이지에서 발급받은 REST API 키 값을 적어주면 된다.
request 자체가 함수로서 호출되면 인자로 받은 URL에 http request를 보내게 되고, response가 callback의 두 번째 인자로 전달되어 서버의 반응 중 body 역할을 하는 string에 세 번째 인자로 전달된다.
따라서 위의 코드를 실행하면 console 값에 아래와 같이 결과 값이 출력된다. (일부분만 캡쳐한 것이다)
POSTMAN
위와 같이 포스트맨으로 request 요청을 하여도 결과가 잘 나오는 것을 확인할 수 있다.
반응형'Server > NodeJS' 카테고리의 다른 글
[NodeJS] 몽구스(Mongoose) 사용하여 CRUD 해보기 (1) 2020.10.23 [NodeJS] Sequelize를 이용하여 CRUD 해보기 (0) 2020.10.23 [NodeJS] Sequelize : ORM(Object-relational Mapping) 사용하기 (0) 2020.10.18 [JavaScript] async와 await란? (1) 2020.06.25 [JavaScript] Promise란 무엇인가? (0) 2020.06.25