반응형
NAVER PAPAGO Open API를 이용해 번역 API만들기
NAVER DEVELOPERS URL
https://developers.naver.com/docs/papago/papago-nmt-overview.md
Papago 번역 - Papago API
Papago 번역 개요 Papago 번역 개요 Papago 번역은 Papago의 인공 신경망 기반 기계 번역 기술(NMT, Neural Machine Translation)로 텍스트를 번역한 결과를 반환하는 RESTful API입니다. Papago 번역으로 번역할 수 있
developers.naver.com
NAVER의 번역 서비스인 PAPAGO의 Open API를 이용해 번역API를 만들어보자.
1. PAPAGO 번역 API를 사용하기위해 네이버 개발자 센터에서 애플리케이션을 등록(API 이용신청)한다.
2. 다른 API를 이용하려면 requests 라이브러리를 이용하면 된다.
3. 위의 PAPAGO API 링크를 참고하여 app.py 파일에 클래스를 연결해본다.
app.py
from flask import Flask
from flask_jwt_extended import JWTManager
from flask_restful import Api
from config import Config
from resources.naver import NaverPapagoEnResource, NaverPapagoResource, NaverSearchResource
app = Flask(__name__)
# 환경변수 셋팅
app.config.from_object(Config)
# JWT Token Library 만들기
jwt = JWTManager(app)
api = Api(app)
api.add_resource(NaverPapagoResource, '/chinese')
api.add_resource(NaverPapagoEnResource, '/en')
api.add_resource(NaverSearchResource, '/search')
if __name__ == '__main__' :
app.run()
클래스가 포함된 naver.py
get으로 호출하는 방법과 post로 호출하는 두가지 방법을 사용해보자.
from datetime import datetime
from http import HTTPStatus
from flask import request
from flask_jwt_extended import get_jwt_identity, jwt_required
from flask_restful import Resource
from config import Config
import requests
class NaverPapagoResource(Resource) :
def get(self) :
# 클라이언트로부터 데이터를 받아온다.
text = request.args['text']
# 네이버 파파고 API를 호출한다.
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 }
data = { 'source' : 'ko', 'target' : 'zh-CN', 'text' : text }
res = requests.post( Config.NAVER_PAPAGO_URL, data, headers = headers )
print(res.json())
res = res.json()
result_text = res['message']['result']['translatedText']
return {'result' : result_text }, 200
class NaverPapagoEnResource(Resource) :
def post(self) :
text = request.get_json()
# 네이버 파파고 API를 호출한다.
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 }
data = { 'source' : 'ko', 'target' : 'en', 'text' : text.values() }
res = requests.post( Config.NAVER_PAPAGO_URL, data, headers = headers )
print(res.json())
res = res.json()
result_text = res['message']['result']['translatedText']
return {'result' : result_text }, 200
4. postman으로 test
get

post

반응형
'BackEnd' 카테고리의 다른 글
| 공공데이터 Open API xml parsing하는 코드 (0) | 2022.08.24 |
|---|---|
| API - NAVER NEW SEARCH Open API사용하기 (0) | 2022.06.30 |
| API - Amazon Rekognition 사용해 이미지 객체식별 API 만들기 (0) | 2022.06.25 |
| API - Python용 AWS Library 인 boto3 library를 이용해 S3 파일 업로드하기 (0) | 2022.06.24 |
| API - JWT를 이용해 LOGOUT 기능 만들기 (0) | 2022.06.21 |