1. 애플리케이션 등록
네이버 오픈API를 사용하려면 먼저 네이버 개발자 센터에서 애플리케이션을 등록하고
클라이언트 아이디와 클라이언트 시크릿을 발급받아야 한다.
2. 뉴스 제목 검색 API 코드
문서를 보고 오픈 API의 요청 방식, 응답 방식 등을 확인하고 나의 서비스에 맞게 가공한다.
from flask import request
from flask_restful import Resource
import requests
from config import Config
class NaverSearchResource(Resource):
def get(self):
keyword = request.args.get('keyword')
limit = request.args.get('limit')
## 네이버 API를 호출(자세한 사용법은 문서참고)
### RESTFul Open API를 호출할 때 사용하는 라이브러리
### => requests
### Flask의 request와 헷갈리지 않도록 주의!!!
# 네이버 뉴스검색 API에서 문서에서 요구하는 파라미터와 헤더 정보를 보고 만든다.
params = {'query' : keyword,
'display' : limit}
headers = {'X-Naver-Client-Id': Config.NAVER_CLIENT_ID,
'X-Naver-Client-Secret': Config.NAVER_CLIENT_SECRET}
# 첫번째 파라미터: 요청url
# 두번째 파라미터: 파라미터
# 헤더는 keyword parameter
response = requests.get('https://openapi.naver.com/v1/search/news.json',
params,
headers= headers)
# print(response)
# print(response.json())
response = response.json()
# print(response['items'])
# 뉴스 제목만 저장하는 리스트
title_list = []
for row in response['items']:
title_list.append(row['title'])
return {'result' : 'success',
'items' : title_list}, 200
3. JSON Editor Online
응답 받은 json을 확인 할 때는 구조가 복잡해서 이해하기가 쉽지 않다.
JSON Editor Online을 사용하면 알아보기 쉽게 바꿔준다.
왼쪽에 JSON을 붙여넣고 Copy > 를 누르면 된다.
4. 포스트맨으로 테스트
'REST API' 카테고리의 다른 글
네이버 오픈API 활용 - Papago 번역 API (0) | 2023.01.13 |
---|---|
Python HTTP 라이브러리 - Requests 사용법 (0) | 2023.01.13 |
API서버 - 클라이언트에게 받은 이미지와 텍스트를 DB에 저장하는 API (0) | 2023.01.13 |
API서버 - AWS Rekognition을 사용한 Object Detection API (0) | 2023.01.13 |
API서버 - @jwt_required(optional=True)를 이용한 분기 처리 (0) | 2023.01.10 |