playlist ์ฐ๋์ ํ๋ค๋ณด๋ ์์ด๋ก ๊ฒ์ํ ์คํฌํฐ ํ์ด ์์์ ํ๊ตญ์ด๋ก ๋ฒ์ญํ์ฌ wiki ๋ฐฑ๊ณผ์์ ๊ฒ์๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ํ์๊ฐ ์์๋๋ฐ์. ์ด์ฐจํผ ๊ฐ์ ๊ฒ์์ ํ๋ ์ ์ฅ์ด๋ผ ํฐ ๋ฒ์ญ์ด ํ์ํ์ง ์์ Google cloud platform์ Cloud Translation Rest API๋ฅผ ์ด์ฉํ์ฌ ๋จ์ด ๋ฒ์ญ์ ํ์๋ต๋๋ค.
์๋ ๋ณธ์ธ api ํ ํฐ๊ฐ๊ณผ ๊ฒ์ ๋จ์ด๋ฅผ ์์ด๋ก ๊ธฐ์ฌํ๋ฉด ํ๊ธ๋ก ๋ฒ์ญ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค.
1. ์์ค์ฝ๋
function translateWord()
{
var apiToken = "๋ณธ์ธ API token";
var searchWord = "BTS"
var url ="https://translation.googleapis.com/language/translate/v2?key=" + apiToken;
var response = UrlFetchApp.fetch(url,
{
method: "POST",
headers:{
"contentType": "application/json; charset=utf-8",
"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36"
},
payload :{
"q" : String(searchWord),
"source" : "en",
"target" : "ko",
"format" : "text"
},
muteHttpExceptions: true
});
var json = response.getContentText();
var data = JSON.parse(json);
searchWord = data.data.translations[0].translatedText;
return searchWord;
}
user-agent ๋ฐ muteHttpExceptions๋ ๊ผญ ์ค์ ํ์๊ธฐ ๋ฐ๋๋๋ค. ์ต๊ด์ด ๋์ด์์ง ์์ผ๋ ์ ๋ ๋งค๋ฒ ๋นผ๋จน๊ณ 40x ์ค๋ฅ ํ์ ์์ ํ๋๋ฐ์. ์ต๊ด๋ค์ฌ์ ์ค๋ฅ ํ์๋ฅผ ์ค์ ์๋ค.
์ ๋ wiki ๋ฐฑ๊ณผ ๊ฒ์๊น์ง ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ํด๋น ๊ฒฐ๊ณผ๊ฐ ์๋์ ๊ฐ์ด ํ๊ธฐ๋ฉ๋๋ค. wiki ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ง๋๋ฒ ํฌ์คํ ๊ธ์ ๊ธฐ์ฌ๋์ด ์์ผ๋ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
2. ์ฐธ๊ณ ํ ๊ฐ์ด๋ ๋งํฌ
https://cloud.google.com/translate/docs/reference/rest/v2/translate
3. ๋ฒ์ญ ์ธ์ด ์ง์ ์ฝ๋
https://cloud.google.com/translate/docs/languages
4. ํน์ ๊ธ์ ์ ์ด์ ๋ฒ์ญ ์ ์๊ธ ์ ๋ฃ
https://cloud.google.com/translate/pricing
์ ํฌ์คํ ๋ ๊ธ์ ๋ณด๋ฉด ๊ตฌ๊ธ API ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋ง์ต๋๋ค. ์ ๋ฌด ์๋ํ์ ๋ง์ด ํ์ฉํด๋ณด์ธ์. ์ง๊ธ๊น์ง google ๋ฒ์ญ API ์ฌ์ฉ ๋ฐฉ๋ฒ์ด์์ต๋๋ค.
๋๊ธ