비쥬얼 스튜디오의 C#에서 카카오 i API를 사용하기 위해서는 일단 제일먼저

 

API키를 발급 받아야 한다.

 

[ref link]

developers.kakao.com/docs/latest/ko/translate/common

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

키를 발급받았다면, 아래 코드를 입력해준다.

 

[Program.cs]

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Kakao_Trans
{
    class Program
    {
        static void Main(string[] args)
        {
            Kakao_Trans();
        }

        private static void Kakao_Trans() 
        {
            try
            {
                string type = "src_lang=en&target_lang=kr"; // 요청하고자 하는 번역 타입
                string site = "https://kapi.kakao.com/v1/translation/translate?" + type + "&query=";
                string Original_string = "Where are you from?"; // 번역하고 싶은 원본 데이터

                string query = string.Format("{0}{1}", site, Original_string); // 최종적으로 요청하는 번역 쿼리

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(query);

                string rkey = "API KEY 입력"; // API 키

                string header = "KakaoAK " + rkey;

                request.Headers.Add("Authorization", header);
                request.ContentType = "application/x-www-form-urlencoded";

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string status = response.StatusCode.ToString();

                if (status == "OK")
                {
                    Stream stream = response.GetResponseStream();

                    StreamReader reader = new StreamReader(stream, Encoding.UTF8);

                    String text = reader.ReadToEnd();

                    stream.Close();
                    response.Close();
                    reader.Close();

                    int start = text.IndexOf("[\"") + 2;
                    int end = text.IndexOf("\"]", start);

                    Console.WriteLine(text.Substring(start, end - start));
                }
                else
                {
                    // 오류발생
                }
            }
            catch (Exception ex)
            {
                //api에서 문제가 생겨도 여기서 오류가 발생한다.
                //오류 내용을 확인해서 로그를 남겨야 할듯
            }
        }
    }
}

 

참고로!

string rkey = "API KEY 입력"; // API 키

이 코드 부분에 발급받았던 키를 입력해 줘야된다.

 

 

[실행 결과]

비쥬얼 스튜디오의 C#에서 파파고 API를 사용하기 위해서는 일단 제일먼저

 

API키를 발급 받아야 한다.

 

[ref link]

developers.naver.com/products/nmt/

 

Papago 소개

Neural Machine Translation NMT는 Neural Machine Translation(인공신경망 기반 기계번역)의 약어입니다. 파파고의 NMT 기술은 입력 문장을 문장벡터로 변환하는 신경망(encoder)과 문장벡터에서 번역하는 언어의 �

developers.naver.com

 

위에서 발급 받으면 된다.

 

그리면 Client ID 와, Client Secret 코드를 발급받게 된다.

 

 

[Program.cs]

using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Papago_Trans
{
    class Program
    {
        static void Main(string[] args)
        {
            Papago_Trans();
        }

        private static void Papago_Trans() 
        {
            try
            {
                // 요청 url
                string sUrl = "https://openapi.naver.com/v1/papago/n2mt";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sUrl);
                // 헤더 추가하기 (파파고 NMT API 가이드에서 -h 부분이 헤더이다)
                request.Headers.Add("X-Naver-Client-Id", "API 아이디 코드");
                request.Headers.Add("X-Naver-Client-Secret", "API 시크릿 코드");
                request.Method = "POST";

                // 파라미터에 값 넣기 (파파고 NMT API가이드에서 -d부분이 파라미터)
                //string sParam = string.Format("source=auto&target=en&text="+txtSendText.Text);

                string Original_string = "Where are you from?"; // 번역하고싶은 데이터

                // 파라미터를 char Set에 맞게 변경
                byte[] bytearry = Encoding.UTF8.GetBytes("source=en&target=ko&text=" + Original_string);

                request.ContentType = "application/x-www-form-urlencoded";

                // 요청 데이터 길이
                request.ContentLength = bytearry.Length;

                Stream st = request.GetRequestStream();
                st.Write(bytearry, 0, bytearry.Length);
                st.Close();

                // 응답 데이터 가져오기 (출력포맷)
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream stream = response.GetResponseStream();
                StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                string text = reader.ReadToEnd();

                stream.Close();
                response.Close();
                reader.Close();

                JObject jObject = JObject.Parse(text);
                Console.WriteLine(jObject["message"]["result"]["translatedText"].ToString()); // 결과 출력
            }
            catch (Exception ex)
            {
                //api에서 문제가 생겨도 여기서 오류가 발생한다.
                //오류 내용을 확인해서 로그를 남겨야 할듯
            }
        }
    }
}

 

[참고]

                // 헤더 추가하기 (파파고 NMT API 가이드에서 -h 부분이 헤더이다)
                request.Headers.Add("X-Naver-Client-Id", "API 아이디 코드");
                request.Headers.Add("X-Naver-Client-Secret", "API 시크릿 코드");

여기 부분에 있는 API 아이디 코드와, 시크릿 코드는 본인이 발급받은 내용을 적어주면

정상적으로 작동할 것이다!

 

 

[실행 결과]

구글 번역기 API를 사용하기 위해서는 해당 API 키를 먼저 발급받아야 한다.

 

[ref link]

console.developers.google.com/

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

키를 발급받았다면, 비쥬얼스튜디오에서 필요한 NuGet을 설치한다.

 

솔루션용 NuGet 패키지 설치

 

그리고 나서 솔루션 창이 나오면

 

Google.Apis.Translate.v2

Google.Apis.Translate.v2 를 설치해준다.

 

마지막으로

 

해당 코드를 입력한다.

 

[Program.cs]

using Google.Apis.Services;
using Google.Apis.Translate.v2;
using Google.Apis.Translate.v2.Data;
using System;

namespace Google_Trans
{
    class Program
    {
        static void Main(string[] args)
        {
            Google_Trans();
        }

        private static void Google_Trans() 
        {
            TranslateService service = new TranslateService(new BaseClientService.Initializer()
            {
                ApiKey = "API KEY 입력", // 여기만 바꾸면 됨.
                ApplicationName = " "
            });

            string Original_string = "Where are you from?"; // 해당 글 번역 요청
            try
            {
                try
                {
                    //번역 요청
                    TranslationsListResponse response = service.Translations.List(Original_string, "ko").Execute();
                    //번역 결과
                    Console.WriteLine(response.Translations[0].TranslatedText);
                }
                catch (Exception ex)
                {
                    //api에서 문제가 생겨도 여기서 오류가 발생한다.
                    //오류 내용을 확인해서 로그를 남겨야 할듯
                }
            }
            catch (Exception ex)
            {
                //오류 내용을 확인해서 로그를 남겨야 할듯
            }
        }
    }
}

 

참고로 마지막에 

TranslationsListResponse response = service.Translations.List(Original_string, "ko").Execute();

여기서 Original_string 은 타입에 따라 자동으로 언어가 지정된다.

 

 

[실행 결과]

+ Recent posts