비쥬얼 스튜디오의 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 아이디 코드와, 시크릿 코드는 본인이 발급받은 내용을 적어주면

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

 

 

[실행 결과]

+ Recent posts