일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- DATABASE
- Express
- React
- Crawling
- node.js
- wireshark
- ubuntu
- docker
- OS
- sequelize
- S3
- Util
- macos
- AWS
- MongoDB
- python
- mongoose
- HTML
- Scheduling
- linux
- Kotlin
- TypeScript
- mysql
- postman
- Network
- css
- OOAD
- algorithm
- typeorm
- Today
- Total
Seongwon Lim
[OpenAPI] 네이버 Open API 사용 방법 및 Postman을 이용하여 확인하기 본문
서론
네이버 Open API를 사용해 네이버 뉴스 검색 결과를 출력해주는 API를 사용해보고자 한다. 네이버에서 제공하는 검색 API로는 뉴스 검색 결과 뿐만 아니라 블로그, 백과사전, 카페, 지식인등 다양한 카테고리를 제공하고 있지만 해당 포스팅 글에서는 예시를 살펴보고자 간단하게 뉴스 검색 결과를 다루고자 한다.
위 사이트로 접속 후 Application 탭을 누른 뒤 애플리케이션 등록 을 누른다.
- 애플리케이션 이름 : 본인이 사용하고자 하는 이름을 등록
- 사용 API : 뉴스 검색 결과를 가져오는 API를 사용할 것이므로 검색 을 추가했다.
- 비로그인 오픈 API 서비스 환경 : 환경 추가를 누르고 WEB 설정을 눌러 로컬호스트를 등록하면 API를 사용자 로컬 PC에서 WEB을 통해 데이터를 주고받을 수 있다.
위와 같이 입력하고 등록하기 를 누르면 인증 정보를 확인하는 페이지로 이동한다.
Open API를 사용할 때에는 Client ID, Client Secret 2개 값을 이용해야 사용할 수 있다.
따라서 위 2개 정보가 외부로 노출되지 않도록 주의해야 한다.
Open API 사용하기
상단 탭의 Documents → 서비스 API → 검색 탭으로 이동한다.
다음은 왼쪽 탭에 위치하는 뉴스 탭을 클릭하면 아래와 같은 페이지가 나타난다.
해당 API는 사용자가 검색하고자 하는 키워드를 입력하면 네이버의 뉴스 탭에서 키워드를 포함하는 뉴스 결과를 반환하는 API이다. 필자는 데이터를 JSON 형식으로 받아오기 위해서 2번째 메서드를 사용하기로 했다.
- https://openapi.naver.com/v1/search/news.json 경로에 요청 변수를 담는 query를 이용하면 사용자가 입력한 키워드에 맞는 뉴스 결과들을 JSON 형태로 받아올 수 있다.
예를 들면 다음과 같이 쿼리문을 구성할 수 있다.
위 주소를 가지고 포스트맨을 이용해서 GET 요청을 보내보도록 하자.
POSTMAN을 이용하여 결과 확인하기
- 포스트맨 설치가 되지 않은 분들은 여기를 클릭하여 포스트맨 설치를 먼저 진행하면 좋을 것 같다.
동일 주소로 GET 요청을 보냈는데 인증에 실패했다는 에러 메세지를 받았다.
그 이유는 우리가 애플리케이션을 등록하고 받은 Client ID, Client Secret 키 2개를 헤더로 넘기지 않았기 때문이다. 따라서 다음과 같이 Headers에 받은 키 2개를 추가한다.
KEY는 X-Naver-Client-Id , X-Naver-Client-Secret 를 입력하고 값에는 애플리케이션 등록 시 얻은 2개의 키 값을 차례대로 입력한다. 이제 다시 동일한 주소로 GET 요청을 보내보면?
요청이 성공적으로 이루어졌고 데이터가 JSON 형식으로 알맞게 넘어온 것을 확인할 수 있다.
요청 경로에 query 말고도 3가지 옵션을 더 사용할 수 있는데 사용 방법은 & 기호를 이용하면 된다.
예를 들어 키워드는 올림픽이고 받을 결과의 수를 50개로 지정하고 싶다면 아래와 같은 주소로 요청을 보내면 된다.
데이터 결과는 양이 많아 생략했으며 display 값이 50으로 나온 것을 보아 데이터 50개를 결과로 잘 받을 것을 확인할 수 있다.
'OpenAPI' 카테고리의 다른 글
[OpenAPI] 코로나19 감염 현황 OpenAPI를 이용하여 활용하기 (0) | 2022.05.08 |
---|