REST API 의 또 다른 예제로 네이버 파파고 번역 API를 사용해보도록 하겠습니다.
REST API – 네이버 디벨로퍼 (NAVER Developers) 의 가이드 확인
네이버 디벨로퍼 사이트에 가보면(링크) 여러가지 API들이 많이 있습니다. 오픈 API 는 무료로 사용 할 수 있습니다.
다만 제한이 있어서 파파고 번역의 경우 하루 5만자 까지만 됐던 걸로 기억 합니다.(틀릴 가능 성이 다분합니다.)
여튼 Documents 에 API 공통 가이드 에 가서 보면 파파고 번역은 비로그인 방식으로 사용 할 수 있는 걸 알 수 있습니다.
UNSPLASH 와 동일 하게 HEADER에 KEY 값을 입력해서 사용 할 수 있어 보입니다.
개인 어플리케이션 등록과 키는 받았다고 가정을 하고 Documents-> 파파고 번역 -> API 레퍼런스에 가보면 아래처럼 URL, HTTP 메서드 파라미터 등이 UNSPLASH 해서 했던거랑 비슷하게 나와있습니다.
한글이라서 읽기도 편하고 정리도 이게 더 잘 되어 있는거 같습니다. POST 메서드를 사용 하네요.
추가로 참고사항을 보면 헤더(HEADER)에 클라이언트 아이디와 클라이언트 시크릿을 추가하라고 합니다.
여기 까지의 정보만 있으면 사용하는데 필요한 정보는 모두 받은 거 같습니다.
PYTHON 으로 파파고(Papapgo) 번역 API 호출하기
import requests
papago_url = 'https://openapi.naver.com/v1/papago/n2mt'
headers = {'X-Naver-Client-Id': 'YOUR_CLIENT-ID','X-Naver-Client-Secret' : 'YOUR_SECRET','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
text = input('한글 입력해주세요:')
para = {'source':'ko', 'target':'en','text':text}
respons = requests.post(url=papago_url,params = para, headers = headers)
print(respons.json())
코드는 한글을 입력 받아서 영어로 출력해 주는 매우 간단한 코드 입니다.
앞의 예제와 다른점은 호출 메서드(method)를 post를 사용 한 것 만 빼고 나머지는 거의 동일합니다.
headers(헤더)에 한글 전송이 제대로 되려면 이것도 추가 시켜줘야 되는거 같네요 ‘Content-Type’: ‘application/x-www-form-urlencoded; charset=UTF-8’
para 에는 설명서에 있는대로 source(원본 언어 코드), tartget(목적 언어 코드) 를 입력 해주었고, text에 입력받은 한글 값이 들어가도록 해주었습니다.
언어 코드도 설명서 보면 잘 나와 있습니다.
위의 코드를 실행 시키고 ‘응답에 성공하면 결과값을 반환합니다.’ 를 입력 해주면 아래처럼 JSON 형식의 값을 반환해 줍니다.
번역된 텍스트만 받으려면 아래처럼 빼주면 됩니다.
print(respons.json()['message']['result']['translatedText'])
이상의 오감도에 있는 시의 내용을 입력해 보았습니다. 아래와 같이 나옵니다. 잘 번역해 주네요.
요 REST API 방식을 거의 모든 API 제공 방식으로 선택 하고 있는거 같아서 익혀두면 저 같은 초보자도 매우 쉽게 이것저것 재밌게 가지고 놀 수 있어서 좋은거 같습니다.