유니 코드

[Android/Kotlin] 도서 리뷰 앱 - Naver 검색 API(도서) 사용하기 본문

오늘의 공부는?!/Android

[Android/Kotlin] 도서 리뷰 앱 - Naver 검색 API(도서) 사용하기

꼬물쥰 2022. 6. 29. 16:11

활용기술

- 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를 어플리케이션에 어떻게 적용하는지 다음글에서 알아보자 :)

Comments