Overview
이번시간에는 Google API를 이용하여 파이썬 스크립트에서 영>한 번역서비스를 이용해보도록 하겠습니다. 구글 번역 API는 일정 부분 무료로 사용할 수 있지만, 사용량에 따라 요금이 부과됩니다. Google Cloud는 새로운 고객에게 90일 동안 $300의 무료 크레딧을 제공하며, 이를 통해 Cloud Translation API를 포함한 다양한 서비스를 체험할 수 있습니다.
또한, 모든 고객은 매월 500,000자까지의 텍스트 번역을 무료로 이용할 수 있습니다. 이 무료 사용량을 초과하면 추가 요금이 발생하며, 자세한 요금 정보는 Cloud Translation 가격 책정 페이지에서 확인할 수 있습니다.
따라서, 소규모 프로젝트나 제한된 번역 작업의 경우 무료 사용 한도 내에서 비용 없이 구글 번역 API를 활용할 수 있습니다. 그러나 대규모 번역이 필요한 경우에는 추가 비용이 발생할 수 있으므로, 사용 계획에 따라 요금제를 검토하는 것이 좋습니다.
새로운 프로젝트 생성
가장 먼저 https://console.cloud.google.com에 가셔서 Project를 하나 만드세요. 새로운 프로젝트를 만드는 방법은 이전 강좌에서 소개했으므로 프로젝트가 생성되어 있다는 전제하에 강의를 진행하겠습니다.
Cloud Translation API 활성화
새로운 프로젝트를 생성하셨으면 화면 상단에서 생성한 프로젝트를 선택해주세요.

그리고 아래 Quick access에서 APIs & Services를 클릭한 뒤에 좌측메뉴에서 Library를 선택합니다. 그러면 아래와 같은 화면이 뜰거에요. 검색창에 Cloud Translation API를 검색해 주세요.

검색결과에서 Cloud Translation API를 선택해주세요.

Enable버튼을 눌러서 해당 앱을 활성화를 시켜줍니다.

그러면 결제정보를 요구할거에요. Enable billing버튼을 눌러서 결제정보입력을 진행해주세요.

만약 선택할 결제정보를 기존에 가지고 있지 않으면 새로운 결제정보를 입력하셔야합니다. Manage billing accounts를 클릭해주세요.

결제관리화면이 나오면 Create account를 클릭해서 결제계정을 생성해주세요.

결제계좌의 이름을 입력하고, 결제 국가 및 화폐를 선택합니다.

결제계좌에 연결할 카드정보를 선택한 뒤 Submit and enable billing을 클릭해서 결제계정 생성절차를 완료합니다.

그러면 아래와 같이 해당 결제계좌에 관한 정보를 한눈에 볼 수 있는 대시보드가 나타납니다.

다시 아까 Cloud Translation API로 가서 Enable버튼을 누르면 이번에는 어떤 결제계좌를 이용할지를 물어봅니다. 방금 만든 My Billing Account 1을 선택해주세요.

팝업을 닫고 Enable버튼을 다시 누르면 아래와 같이 활성화된 결과를 보여줍니다.

API Key생성
이제 API를 사용하기 위해 필요한 API Key를 생성할 차례입니다. 좌측메뉴에서 Credentials를 클릭하면 아래와 같이 API Key들을 관리하는 화면이 뜹니다.

상단에 + Create credentials
링크를 누르면 새창이 뜨면서 API Key를 생성해서 보여줍니다.

주의사항을 보면 API를 도용당할 수 있기때문에 Edit API Key를 눌러서 제한설정을 하라네요. 해당링크를 누르면 다음과 같이 사용제한을 설정할 수 있게 해주는데요.

애플리케이션 제한은 웹서비스나 앱이 없으므로 그냥 넘어갈게요. 그리고 API 제한은 Cloud Translation API로 범위를 좁힐게요. Restrict key옵션을 선택하신뒤에 목록에서 Cloud Translation API를 선택해주세요.

Save버튼을 누르면 다시 API Key관리화면으로 보내줍니다.

Cloud Translation API사용하기
이제 만들어진 API키를 가지고 번역서비스를 이용해볼까요? Google번역 API의 v2를 이용해서 간단한 인사를 한글로 번역해 가지고 오도록 하겠습니다. API출력하는 JSON결과를 예쁘게 보여주기 위해서 json패키지를 사용할게요.
import json
import requests
API_KEY = "여기에 API Key를 넣으세요"
text = "Hello, how are you?"
target = "ko" # Translate to Korean
url = f"https://translation.googleapis.com/language/translate/v2"
params = {
'q': text,
'target': target,
'format': 'text',
'key': API_KEY,
}
response = requests.post(url, data=params)
result = response.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
이 파일을 실행하면 다음과 같이 번역결과가 JSON에 저장됩니다.
{
"data": {
"translations": [
{
"translatedText": "안녕하세요. 어떻게 지내세요?",
"detectedSourceLanguage": "en"
}
]
}
}
테스트가 끝나고 해당 API를 더이상 사용할 일이 없으시다면 API Key는 삭제해주세요. API Key관리자화면에서 우측에 Actions 점세개 누르면 Delete API Key를 하실수 있습니다.

그리고 불필요하게 Enabled되어있던 다른 API들도 전부 비활성화 시켜줍니다.

오늘 강의는 여기까지입니다. 도움이 되셨길 바래요. 앱을 만들다 보면 돈을 내고라도 번역서비스를 써야할 때가 있으니까요. 참! 앱이나 웹서비스가 있다면 API Key로 하지 마시고, OAuth 2.0 Client ID를 생성하셔서 인증을 하시기를 추천드립니다. API Key는 유출의 위험이 있고, 유출이 되면 도용되기가 너무 쉽기때문에 특정 앱에서 API를 사용하는 경우에는 반드시 OAuth로 인증받으시기를 강력히 추천드립니다. 그럼 좋은 저녁되세요!