[Android/Kotlin] 도서 리뷰 앱 - Naver 검색 API(도서) 사용하기
활용기술
- RecyclerView
- View Binding
- Retrofit (API 호출)
- Glide (이미지 로딩)
- Android Room
- Open API
어플리케이션 기능
- Naver api를 통해 도서 검색어에 해당하는 책 목록을 가져와서 화면에 그리기
- Local DB를 이용하여 검색 기록 저장 및 삭제
- Local DB를 이용하여 개인 리뷰 저장
open API란?
개발자라면 누구나 사용할 수 있도록 공개된 api로 카카오, 네이버, 구글 등에서 제공한다
원래 인터파크 API를 사용하려고 했지만 2021년 9월 30일부터 서비스가 종료되었기 때문에
Naver에서 제공하는 서비스를 이용했다
https://developers.naver.com/docs/serviceapi/search/book/book.md#%EC%B1%85
위의 사이트에 들어가서 "오픈 API이용신청" 버튼을 누른다
그럼 서비스를 이용할 애플리케이션을 등록해야하라고 나오는데 등록을 해준다

애플리케이션 이름은 그냥 알아볼 수 있도록 작성하고, 나는 앱을 만들거니까 서비스환경은 Android설정으로!
등록을 완료하면 api를 사용하기 위한 client ID와 Secret을 확인할 수 있다(이 정보는 다른사람에게 유출되지 않도록 해야한다)

등록이 완료되었다면 이제 api를 사용할 수 있다
일단 api가 어떻게 출력되는지 확인해보자
확인할 수 있는 방법은 여러가지가 있지만 나는 postman을 사용했다
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=ko

출력 포맷은 XML, JSON 두가지인데 나는 JSON으로 출력된걸 사용하고 싶어서 맨 아래 URL을 사용했다.
(JSON과 XML 비교)

요청변수를 보면 query는 필수이고 나머지는 필수가 아니기때문에 원하는걸 가져다 쓰면된다
그리고 naver 검색 api는 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시 발급받은 Client ID와 Client Secret 값을 같이 전송해주어야 한다
그럼 postman(api를 테스트하는 프로그램)을 이용해서 api를 확인해보자

파라미터에 검색하고 싶은 query를 작성해주고,
header에는 아까 발급받은 id와 secret을 작성한 후 send를 누르면
body에 query가 포함된 도서들의 정보가 포함되어있는 것을 확인할 수 있다!!
그럼 이 api를 어플리케이션에 어떻게 적용하는지 다음글에서 알아보자 :)