비쥬얼 스튜디오의 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 아이디 코드와, 시크릿 코드는 본인이 발급받은 내용을 적어주면
정상적으로 작동할 것이다!
[실행 결과]

'프로그래밍 > C# (.net)' 카테고리의 다른 글
[C# .Net] DataView to DataSet (0) | 2020.09.29 |
---|---|
[C# .Net] 텍스트파일 쓰기 / 읽기 (0) | 2020.09.28 |
[C# .Net] Kakao API - 카카오 번역 (0) | 2020.09.28 |
[C# .Net] Google API - 구글 번역 (0) | 2020.09.28 |
[C# .Net] Windows Forms - Grid View Paging (0) | 2020.09.28 |