dect (언어 감지)
- 인쇄
- PDF
dect (언어 감지)
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
개요
입력된 텍스트의 언어를 감지해주는 REST API입니다. 총 15개 언어를 감지합니다.
요청
curl "naveropenapi.apigw-pub.fin-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 IDX-NCP-APIGW-API-KEY-ID:{Client ID} |
X-NCP-APIGW-API-KEY | 앱 등록 시 발급 받은 Client SecretX-NCP-APIGW-API-KEY:{Client Secret} |
요청 바디
요청 변수명 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
query | string | Y | 언어 감지할 text |
응답
{ "langCode" : "{감지한 언어}" }
응답 바디
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
langCode | string | Y | 감지한 언어에 해당하는 언어 코드. |
언어 코드 (langCode)
언어 코드 | 언어 |
---|---|
ko | 한국어 |
en | 영어 |
ja | 일본어 |
zh-CN | 중국어 간체 |
zh-TW | 중국어 번체 |
vi | 베트남어 |
th | 태국어 |
id | 인도네시아어 |
fr | 프랑스어 |
es | 스페인어 |
ru | 러시아어 |
de | 독일어 |
it | 이탈리아어 |
pt | 포르투갈어 |
hi | 힌디어 |
예시
요청 예시
curl "naveropenapi.apigw-pub.fin-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://naveropenapi.apigw-pub.fin-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://naveropenapi.apigw-pub.fin-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://naveropenapi.apigw-pub.fin-ntruss.com/langs/v1/dect';
var request = require('request');
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://naveropenapi.apigw-pub.fin-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://naveropenapi.apigw-pub.fin-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 query parameter | 언어 감지할 텍스트 없음 |
400 | LD03 | Query parameter exceeds max length | 언어 감지할 텍스트 최대 길이제한 초과 (5,000자) |
500 | LD99 | Internal server errors | 내부 서버 오류 고객문의 게시판에 문의 필요 |
이 문서가 도움이 되었습니까?