-
C# 번역 파파고 API 사용하기 (영어를 한글로, 한글을 영어로 번역)닷넷/C# 2020. 3. 3. 13:51반응형
구글 번역기 API는 연동을 다 했으니까
이제 파파고를 연동할 차례!
네이버 계정이 있다는 가정 하에
네이버 디벨로퍼(네이버 개발자센터)에 들어가서 로그인을 한다.
그 다음 Application에서 애플리케이션 등록을 클릭한다.
애플리케이션 이름은 아무거나 입력하고,
사용 API에서 Papago 번역을 선택한다.
환경은 앱으로 만드는게 아니므로 WEB 설정을 선택 한 다음
웹 서비스 URL은 가지고 있는 도메인으로 입력하였는데
네아로를 사용하며 이것저것 테스트해봤을 때 실제 사용되고 있는 도메인이면
아무거나 사용해도 문제는 없었으므로
도메인이 없는 경우 티스토리 혹은 네이버 도메인으로 해도 될 듯.
모든 것이 입력이 다 되었으면 [등록하기] 클릭
내 애플리케이션에서 방금 등록한 것을 클릭하면
Client ID와 Client Secret이 있다.
API 가이드와 기본정보를 보면 POST로 요청 URL에 요청하고(Requset),
이때, Content-Type은 application/x-www-form-urlencoded이고,
Character set은 UTF-8(Encoding.UTF8)이며,
응답받을 때(출력 포맷, Response)는 JSON 형식으로 값을 받는 것을 알 수 있다.
JSON 출력 포맷은 위와 같다.
이제 코드로 작성하여 사용해보자!
HTTP POST에 대한 것은
이것을 참고하고,
json 파싱에 대한 것은
이것을 참고한다.
private void Papago() { // 요청 URL string sUrl = "https://openapi.naver.com/v1/papago/n2mt"; // 파라미터에 값넣기 (파파고 NMT API 가이드에서 -d 부분이 파라미터이다) string sParam = string.Format("source={0}&target={1}&text={2}", comboBox1.Text, comboBox2.Text, txtSendText.Text); // 파라미터를 Character Set에 맞게 변경 byte[] bytearry = Encoding.UTF8.GetBytes(sParam); // 서버에 요청 WebRequest webRequest = WebRequest.Create(sUrl); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; // 헤더 추가하기 (파파고 NMT API 가이드에서 -h 부분이 헤더이다) webRequest.Headers.Add("X-Naver-Client-Id", "네이버 클라이언트 아이디"); webRequest.Headers.Add("X-Naver-Client-Secret", "네이버 클라이언트 시크릿"); // 요청 데이터 길이 webRequest.ContentLength = bytearry.Length; Stream stream = webRequest.GetRequestStream(); stream.Write(bytearry, 0, bytearry.Length); stream.Close(); // 응답 데이터 가져오기(출력포맷) WebResponse webResponse = webRequest.GetResponse(); stream = webResponse.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); string sReturn = streamReader.ReadToEnd(); streamReader.Close(); stream.Close(); webResponse.Close(); JObject jObject = JObject.Parse(sReturn); // JSON 출력포맷에서 필요한 부분(번역된 문장)만 가져오기 txtToText.Text = jObject["message"]["result"]["translatedText"].ToString(); }
결과적으로 코드로 표현하면 위와 같다.
한글을 영어로 번역할 수 있다.
source와 target을 서로 바꾸면 영어를 한글로 번역할 수 있다.
API 레퍼런스에 대한 자세한 내용은 여기서
반응형'닷넷 > C#' 카테고리의 다른 글
C# 네이버 블로그 MetaWeblog API로 글 작성하기 (with XML-RPC) (0) 2020.03.22 C# 난수, 랜덤 Random 사용법 (+ 문자열 배열에서 랜덤으로 출력하기) (0) 2020.03.09 C#에서 구글번역 Google Translation API Basic 사용하기 (0) 2020.02.28 C# 웹크롤링 selenium 사용기 (0) 2020.01.08 C# 웹이미지 다운로드 내폴더에 저장하기 (0) 2020.01.03