개발/백엔드

server - open api 이용해보기.

웅'jk 2023. 1. 13. 15:44

네이버 에서 공개된 api를 이용해보겠습니다.

 

기본적인 사용방법은 네이버에서 제공하기 때문에 참고하시길 바랍니다.

https://developers.naver.com/docs/common/openapiguide/

 

API 공통 가이드 - Open API 가이드

API 공통 가이드 네이버 오픈API는 네이버 플랫폼의 기능을 외부 개발자가 쉽게 이용할 수 있게 웹 또는 SDK 형태로 공개한 기술들입니다. 네이버 오픈API로 활용할 수 있는 기술에는 네이버 로그인

developers.naver.com

 

각 api 별로 사용법은 나와있기 때문에 대표적인 파파고 번역 api를 이용해보겠습니다.

 

1. 클라이언트 측 요청사항

# client 에서는 다음과 같이 보냅니다.

{
    "content" : "안녕하세요~ 반갑습니다~"
}

 

2. 서버개발자 측 요청사항

naver_open.py
# 1. 필요한 라이브러리 추가
from flask import request
from flask_restful import Resource
from config import Config
# 여기서 requests 와 request 는 엄연히 다른 라이브러리입니다.
import requests

# 2. 클래스 생성
class NaverPapagoResource(Resource) :
# 3. api 명세서에 따라 post 방식    
    def post(self) :
# 4. 클라이언트측으로 부터 데이터를 받아옵니다.
		content = request.get_json()['content']
# 5. 네이버에 요청하도록 기본셋을 설정합니다.
#    - Config 에는 네이버에서 제공한 클라이언트 키 정보 등이 있습니다.
		data = {'source': 'ko' , 'target':'zh-CN','text' : content}
        header = {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
                  'X-Naver-Client-Id':Config.X_Naver_Client_Id,
                  'X-Naver-Client-Secret':Config.X_Naver_Client_Secret}
# 6. requests 라이브러리를 이용해 네이버에 요청(request)합니다.
        response = requests.post(Config.papago_json , data , headers=header)
        response = response.json()
        
# 7. 받아온 데이터로 클라이언트 측에 응답(response)합니다.
        return {'result':response['message']['result']['translatedText'] }