개요
입력된 텍스트의 언어를 감지해주는 REST API입니다. 총 12개 언어를 감지합니다.
요청
curl "https://papago.apigw.gov-ntruss.com/langs/v1/dect" \
-d "query=만나서 반갑습니다." \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
-H "X-NCP-APIGW-API-KEY-ID: {애플리케이션 등록 시 발급받은 client id 값}" \
-H "X-NCP-APIGW-API-KEY: {애플리케이션 등록 시 발급받은 client secret 값}" -v
요청 파라미터
- 해당 API는 파라미터를 필요로 하지 않습니다.
요청 헤더
헤더 명 |
설명 |
X-NCP-APIGW-API-KEY-ID |
앱 등록 시 발급받은 Client ID
X-NCP-APIGW-API-KEY-ID:{Client ID} |
X-NCP-APIGW-API-KEY |
앱 등록 시 발급 받은 Client Secret
X-NCP-APIGW-API-KEY:{Client Secret} |
요청 바디
요청 변수명 |
타입 |
필수 여부 |
설명 |
query |
string |
Y |
언어 감지할 text |
응답
{ "langCode" : "{감지한 언어}" }
응답 바디
속성 |
타입 |
필수 여부 |
설명 |
langCode |
string |
Y |
감지한 언어에 해당하는 언어 코드. |
언어 코드 (langCode)
언어 코드 |
언어 |
ko |
한국어 |
en |
영어 |
ja |
일본어 |
zh-CN |
중국어 간체 |
zh-TW |
중국어 번체 |
vi |
베트남어 |
id |
인도네시아어 |
th |
태국어 |
de |
독일어 |
ru |
러시아어 |
es |
스페인어 |
it |
이탈리아어 |
fr |
프랑스어 |
예시
요청 예시
curl "https://papago.apigw.gov-ntruss.com/langs/v1/dect" \
-d "query=만나서 반갑습니다." \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
-H "X-NCP-APIGW-API-KEY-ID: {애플리케이션 등록 시 발급받은 client id 값}" \
-H "X-NCP-APIGW-API-KEY: {애플리케이션 등록 시 발급받은 client secret 값}" -v
응답 예시
{ "langCode" : "ko" }
API 예제
// 네이버 Papago 언어감지 API 예제
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class APIExamDetectLangs {
public static void main(String[] args) {
String clientId = "YOUR_CLIENT_ID";//애플리케이션 클라이언트 아이디값";
String clientSecret = "YOUR_CLIENT_SECRET";//애플리케이션 클라이언트 시크릿값";
try {
String query = URLEncoder.encode("만나서 반갑습니다.", "UTF-8");
String apiURL = "https://papago.apigw.gov-ntruss.com/langs/v1/dect";
URL url = new URL(apiURL);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("X-NCP-APIGW-API-KEY-ID", clientId);
con.setRequestProperty("X-NCP-APIGW-API-KEY", clientSecret);
// post request
String postParams = "query=" + query;
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(postParams);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
BufferedReader br;
if(responseCode==200) { // 정상 호출
br = new BufferedReader(new InputStreamReader(con.getInputStream()));
} else { // 에러 발생
br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
}
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = br.readLine()) != null) {
response.append(inputLine);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
// 네이버 Papago 언어감지 API 예제
<?php
$client_id = "YOUR_CLIENT_ID";
$client_secret = "YOUR_CLIENT_SECRET";
$encQuery = urlencode("반갑습니다.");
$postvars = "query=".$encQuery;
$url = "https://papago.apigw.gov-ntruss.com/langs/v1/dect";
$is_post = true;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, $is_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
$headers = array();
$headers[] = "X-NCP-APIGW-API-KEY-ID: ".$client_id;
$headers[] = "X-NCP-APIGW-API-KEY: ".$client_secret;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "status_code:".$status_code."<br />";
curl_close ($ch);
if($status_code == 200) {
echo $response;
} else {
echo "Error 내용:".$response;
}
?>
// 네이버 Papago 언어감지 API 예제
var express = require('express');
var app = express();
var client_id = 'YOUR_CLIENT_ID';
var client_secret = 'YOUR_CLIENT_SECRET';
var query = "언어를 감지할 문장을 입력하세요.";
app.get('/detectLangs', function (req, res) {
var api_url = 'https://papago.apigw.gov-ntruss.com/langs/v1/dect';
var request = require('request');https://papago.apigw.gov-ntruss.com
var options = {
url: api_url,
form: {'query': query},
headers: {'X-NCP-APIGW-API-KEY-ID':client_id, 'X-NCP-APIGW-API-KEY': client_secret}
};
request.post(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
res.writeHead(200, {'Content-Type': 'text/json;charset=utf-8'});
res.end(body);
} else {
res.status(response.statusCode).end();
console.log('error = ' + response.statusCode);
}
});
});
app.listen(3000, function () {
console.log('http://127.0.0.1:3000/detectLangs app listening on port 3000!');
});
# 네이버 Papago 언어감지 API 예제
import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
encQuery = urllib.parse.quote("언어를 감지할 문장을 입력하세요")
data = "query=" + encQuery
url = "https://papago.apigw.gov-ntruss.com/langs/v1/dect"
request = urllib.request.Request(url)
request.add_header("X-NCP-APIGW-API-KEY-ID",client_id)
request.add_header("X-NCP-APIGW-API-KEY",client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
// 네이버 Papago 언어감지 API 예제
using System;
using System.Net;
using System.Text;
using System.IO;
namespace NaverAPI_Guide
{
public class APIExamDetectLangs
{
static void Main(string[] args)
{
string url = "https://papago.apigw.gov-ntruss.com/langs/v1/dect";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("X-NCP-APIGW-API-KEY-ID", "YOUR-CLIENT-ID");
request.Headers.Add("X-NCP-APIGW-API-KEY", "YOUR-CLIENT-SECRET");
request.Method = "POST";
string query = "오늘 날씨는 어떻습니까?";
byte[] byteDataParams = Encoding.UTF8.GetBytes("query=" + query);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteDataParams.Length;
Stream st = request.GetRequestStream();
st.Write(byteDataParams, 0, byteDataParams.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();
Console.WriteLine(text);
}
}
}
에러 코드
HttpStatusCode |
ErrorCode |
ErrorMessage |
Description |
400 |
LD01 |
Empty text |
text가 없음 |
500 |
LD99 |
Internal server errors |
내부 서버 에러 고객문의 게시판 문의 바람 |