일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 |
27 | 28 | 29 | 30 | 31 |
- 녹음기
- 백준
- 다크모드제한
- Silver5
- Android
- dp
- 테마변경
- Top-Down
- naver open api
- 프로그래머스
- map
- fragment에서 context사용
- RecyclerView
- bronze3
- bronze4
- Alert Dialog
- Kotlin
- stack
- toLong()
- LIS
- silver3
- recyclerView 클릭이벤트
- bottom-up
- bronze2
- gradle설정
- RETROFIT
- 임시저장하기
- LV1
- 뷰클래스
- silver4
- Today
- Total
유니 코드
[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를 어플리케이션에 어떻게 적용하는지 다음글에서 알아보자 :)
'오늘의 공부는?! > Android' 카테고리의 다른 글
[Android/Kotlin] 도서 리뷰 앱 - Retorfit으로 API 호출하기 (0) | 2022.06.29 |
---|---|
[Android/Kotlin] 도서 리뷰 앱 - Retrofit사용 준비 (0) | 2022.06.29 |
[Android] 뷰 클래스 ( 화면 구성) (0) | 2022.03.19 |
[Android] 녹음기 만들기 with 코틀린(4) - 오디오 시각화(Custom Drawing) (0) | 2022.02.25 |