📝네이버의 Open API 사용해보기
네이버 오픈 API 목록을 보고 사용할 API를 찾으면 된다(https://developers.naver.com/products/intro/plan/plan.md)
우선 네이버의 뉴스검색 API와 파파고(Papago) API를 사용해보겠다
사용하기 전 먼저 네이버 개발자 센터에서 애플리케이션을 등록하고 클라이언트 아이디와 클라이언트 시크릿을 발급받아야한다
※ 발급 받은 아이디와 클라이언트 시크릿은 컨픽 파일에 저장해 사용하기
해당 API 페이지에 들어가 HTTP 메서드를 확인하여 포스트맨에 경로를 셋팅해주고
Visual Studio Code에 들어가 작업해줬다
값은 사용할 API의 홈페이지의 요청 URL, 파라미터, 참고 사항, 요청 예, 응답, 오류 코드 등 확인해서 입력할 것
※ Restful Open API를 호출할때 사용하는 라이브러리인 requests를 flask의 request 라이브러리와 헷갈리지 말것
class NaverSearchResource(Resource) :
# 네이버 뉴스를 가져오는 API
def get(self) :
keyword = request.args.get('keyword')
limit = request.args.get('limit')
# 네이버 API를 호출
# Restful Open API를 호출할때 사용하는 라이브러리 > requests 라이브러리
data = {'query' : keyword, 'display' : limit}
headers = {'X-Naver-Client-Id' : Config.NAVER_CLIENT_ID,
'X-Naver-Client-Secret' : Config.NAVER_CLIENT_SECRET}
# requests.사용할 메서드(요청URL, 보낼 데이터, 헤더값)
response = requests.get('https://openapi.naver.com/v1/search/news.json', data, headers= headers)
response = response.json()
# print(response)
# 뉴스 제목만 가져오기
title_list = []
for row in response['items'] :
title_list.append(row['title'])
return {'result' : 'success', 'items' : title_list}, 200
class NaverPapagoResource(Resource) :
# 네이버 파파고 한국어 > 중국어 번역 API
def post(self) :
# {"content" : "안녕하세요~"}
data = request.get_json()
# 네이버 파파고 api 호출
req_data = {'source' : 'ko', 'target' : 'zh-CN', 'text' : data['content']}
headers = {'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Naver-Client-Id' : Config.NAVER_CLIENT_ID,
'X-Naver-Client-Secret' : Config.NAVER_CLIENT_SECRET}
# requests.사용할 메서드(요청URL, 보낼 데이터, 헤더값)
response = requests.post('https://openapi.naver.com/v1/papago/n2mt', req_data, headers= headers)
response = response.json()
# print(response)
# 번역된 결과 값 가져오기
result_text = response['message']['result']['translatedText']
return {'result' : 'success', 'result_text' : result_text}, 200
'Restful API' 카테고리의 다른 글
[Restful API] 이미지와 텍스트 포스팅하면 태그 가져오는 API만들기 (0) | 2023.01.16 |
---|---|
[Restful API] 서버 개발 총 정리 (0) | 2023.01.16 |
[Restful API] 이미지와 텍스트 포스팅하는 API만들기 (1) | 2023.01.13 |
[Restful API] S3에 저장한 이미지를 객체 탐지하는 API만들기(Rekognition) (0) | 2023.01.12 |
[Restful API] 이미지 S3에 업로드하는 API 만들기 (0) | 2023.01.12 |
댓글