audio (CAPTCHA音声)
    • PDF

    audio (CAPTCHA音声)

    • PDF

    Article Summary

    概要

    音声CAPTCHA APIは、自動入力防止のために数字が含まれた音声メッセージを転送して入力値を検証するREST APIです。

    非ログインのオープンAPIであるため、GETで呼び出す時、HTTPヘッダにアプリケーションを登録する際に発行されたClient IDとClient Secretの値を一緒に送信することで活用できます。

    CAPTCHA機能の実装手順は以下の通りです。

    1. CAPTCHAキーを発行するリクエストを使って発行してもらいます。
    2. 発行されたCAPTCHAキーを利用してCAPTCHA音声メッセージをリクエストし、発行してもらいます。
    3. ユーザーが音声メッセージを聞いてから入力した値をCAPTCHAキーと比較します。

    CAPTCHA APIにはCAPTCHAキーの発行/比較APIとCAPTCHA音声メッセージリクエストAPIがあります。CAPTCHAキーの発行/比較APIは上記の1, 3番機能を提供し、音声メッセージリクエストAPIは2番機能を提供します。

    リクエスト

    • CAPTCHAキーの発行
      curl "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=0" \
          -H "X-NCP-APIGW-API-KEY-ID: {アプリケーションを登録する時に発行されたclient id値}" \
          -H "X-NCP-APIGW-API-KEY: {アプリケーションを登録する時に発行されたclient secret値}" -v
      
    • 音声CAPTCHAファイルリクエスト
      curl "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=t521bp3qM7Qyk2X2&X-NCP-APIGW-API-KEY-ID={アプリケーションを登録する時に発行されたclient id値}" -v > output.wav
      
    • CAPTCHA入力値の比較
      curl "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=1&key=eioDb7T8M703uht0&value=1PUNUST" \
          -H "X-NCP-APIGW-API-KEY-ID: {アプリケーションを登録する時に発行されたclient id値}" \
          -H "X-NCP-APIGW-API-KEY: {アプリケーションを登録する時に発行されたclient secret値}" -v
      

    リクエストパラメータ

    • CAPTCHAキーの発行
    リクエスト変数名タイプ必須基本値説明
    codeintegerN00である場合はキー発行 (1である場合はキーと入力値の比較、省略時には0で動作)
    • 音声CAPTCHAファイルリクエスト
    リクエスト変数名タイプ必須基本値説明
    keystringY-CAPTCHAキー発行のAPI呼び出しを通じて受け取ったキーの値
    • CAPTCHA入力値の比較
    リクエスト変数名タイプ必須基本値説明
    codeinteger0NCAPTCHAキーと入力値の比較で動作するようにこの値を1に設定する必要有り、省略時には0(キーの発行)で動作
    keystringY-CAPTCHAキー 発行のAPI呼び出しを通じて受け取ったキーの値
    valuestringY-音声CAPTCHAを聴いてユーザーが入力する値

    リクエストヘッダ

    • CAPTCHAキーの発行、CAPTCHA入力値の比較
    ヘッダ名説明
    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}

    レスポンス

    レスポンスボディ

    • CAPTCHAキー発行のリクエスト時
    フィールドタイプ説明
    keystringCAPTCHAキー 発行のAPI呼び出しを通じて受け取ったキーの値
    • CAPTCHA 音声ファイルのリクエスト時

    wavフォーマットの音声データ

    • CAPTCHA入力値比較のリクエスト時
    フィールドタイプ説明
    resultboolean正解の場合はtrue、正解でない場合はfalse
    responseTimestring正解を当てるまでかかった時間、レスポンス範囲 -1 ~ 7200の間の値

    例示

    リクエスト例示

    • CAPTCHAキーの発行
    > GET /scaptcha/v1/skey?code=0 HTTP/1.1
    > Host: naveropenapi.apigw.ntruss.com
    > User-Agent: curl/7.49.1
    > Accept: */*
    > X-NCP-APIGW-API-KEY-ID: {アプリケーションを登録する時に発行されたclient id値}
    > X-NCP-APIGW-API-KEY: {アプリケーションを登録する時に発行されたclient secret値}
    
    • 音声CAPTCHAファイルのリクエスト
    > GET /scaptcha-bin/v1/scaptcha?key=t521bp3qM7Qyk2X2&X-NCP-APIGW-API-KEY-ID={アプリケーションを登録する時に発行されたclient id値} HTTP/1.1
    > Host: naveropenapi.apigw.ntruss.com
    > User-Agent: curl/7.49.1
    > Accept: */*
    
    • CAPTCHA入力値の比較
    > GET /scaptcha/v1/skey?code=1&key=eioDb7T8M703uht0&value=1PUNUST HTTP/1.1
    > Host: naveropenapi.apigw.ntruss.com
    > User-Agent: curl/7.49.1
    > Accept: */*
    > X-NCP-APIGW-API-KEY-ID: {アプリケーションを登録する時に発行されたclient id値}
    > X-NCP-APIGW-API-KEY: {アプリケーションを登録する時に発行されたclient secret値}
    

    レスポンス例示

    • CAPTCHAキーの発行
    < HTTP/1.1 200 OK
    < Server: nginx
    < Date: Tue, 04 Oct 2016 05:20:47 GMT
    < Content-Type: text/plain;charset=UTF-8
    < Content-Length: 26
    < Connection: keep-alive
    < Keep-Alive: timeout=5
    < Vary: Accept-Encoding
    < Pragma: no-cache
    < Expires: Thu, 01 Jan 1970 00:00:00 GMT
    < Cache-Control: no-cache
    < Cache-Control: no-store
    <
    * Connection #0 to host naveropenapi.apigw.ntruss.com left intact
    {"key":"t521bp3qM7Qyk2X2"}
    
    • 音声CAPTCHAファイルのリクエスト
    < HTTP/1.1 200 OK
    < Server: nginx
    < Date: Tue, 04 Oct 2016 05:21:24 GMT
    < Content-Type: audio/wav;charset=UTF-8
    < Transfer-Encoding: chunked
    < Connection: keep-alive
    < Keep-Alive: timeout=5
    < Pragma: no-cache
    < Expires: Thu, 01 Jan 1970 00:00:00 GMT
    < Cache-Control: no-cache
    < Cache-Control: no-store
    
    • CAPTCHA入力値の比較
    < HTTP/1.1 403 Forbidden
    < Server: nginx
    < Date: Tue, 04 Oct 2016 05:25:21 GMT
    < Content-Type: application/json;charset=UTF-8
    < Content-Length: 66
    < Connection: keep-alive
    < Keep-Alive: timeout=5
    < Vary: Accept-Encoding
    < Pragma: no-cache
    < Expires: Thu, 01 Jan 1970 00:00:00 GMT
    < Cache-Control: no-cache
    < Cache-Control: no-store
    * Connection #0 to host naveropenapi.apigw.ntruss.com left intact
    {"result":true,"responseTime":84.6}
    

    API例題

    Naver CAPTCHA APIの例題は1) CAPTCHAキーの発行、2) CAPTCHA音声受信、3) CAPTCHA入力値比較の例題で構成されています。

    // Naver CAPTCHA API例題 -キー発行
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    
    public class APIExamCaptchaSkey {
    
        public static void main(String[] args) {
            String clientId = "YOUR_CLIENT_ID";//アプリケーションclient id値";
            String clientSecret = "YOUR_CLIENT_SECRET";//アプリケーションclient secret値";
            try {
                String code = "0"; //キー発行時 0, CAPTCHA音声比較時には1でセット
                String apiURL = "https://Naver openapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code;
                URL url = new URL(apiURL);
                HttpURLConnection con = (HttpURLConnection)url.openConnection();
                con.setRequestMethod("GET");
                con.setRequestProperty("X-NCP-APIGW-API-KEY-ID", clientId);
                con.setRequestProperty("X-NCP-APIGW-API-KEY", clientSecret);
                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);
            }
        }
    }
    
    // Naver CAPTCHA API例題 - CAPTCHA音声受信
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.Date;
    
    public class APIExamCaptchaAudio {
    
        public static void main(String[] args) {
            String clientId = "YOUR_CLIENT_ID";//アプリケーションclient id値";
            try {
                String key = "CAPTCHA_KEY"; // https://Naver openapi.apigw.ntruss.com/scaptcha/v1/skey 呼び出しを通じて受け取ったキーの値
                String apiURL = "https://Naver openapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=" + key + "&X-NCP-APIGW-API-KEY-ID" + clientId;
                URL url = new URL(apiURL);
                HttpURLConnection con = (HttpURLConnection)url.openConnection();
                con.setRequestMethod("GET");
                int responseCode = con.getResponseCode();
                BufferedReader br;
                if(responseCode==200) { // 正常呼び出し
                    InputStream is = con.getInputStream();
                    int read = 0;
                    byte[] bytes = new byte[1024];
                    // ランダムな名称でファイル作成
                    String tempname = Long.valueOf(new Date().getTime()).toString();
                    File f = new File(tempname + ".wav");
                    f.createNewFile();
                    OutputStream outputStream = new FileOutputStream(f);
                    while ((read =is.read(bytes)) != -1) {
                        outputStream.write(bytes, 0, read);
                    }
                    is.close();
                } 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);
            }
        }
    }
    
    // Naver CAPTCHA API例題 - 入力値比較
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class APIExamCaptchaSkeyResult {
    
        public static void main(String[] args) {
            String clientId = "YOUR_CLIENT_ID";//アプリケーションclient id値";
            String clientSecret = "YOUR_CLIENT_SECRET";//アプリケーションclient secret値";
            try {
                String code = "1"; //キー発行時 0,  CAPTCHA音声比較時には1でセット
                String key = "CAPTCHA_KEY"; // CAPTCHAキー発行時に受け取ったキーの値
                String value = "USER_VALUE"; // ユーザーが入力したCAPTCHA値
                String apiURL = "https://Naver openapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code +"&key="+ key + "&value="+ value;
    
                URL url = new URL(apiURL);
                HttpURLConnection con = (HttpURLConnection)url.openConnection();
                con.setRequestMethod("GET");
                con.setRequestProperty("X-NCP-APIGW-API-KEY-ID", clientId);
                con.setRequestProperty("X-NCP-APIGW-API-KEY", clientSecret);
                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);
            }
        }
    }
    
    <?php
      // Naver CAPTCHA Open API例題 -キー発行
      $client_id = "YOUR_CLIENT_ID";
      $client_secret = "YOUR_CLIENT_SECRET";
      $code = "0";
      $url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=".$code;
      $is_post = false;
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_POST, $is_post);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $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;
      }
    ?>
    
    // Naver CAPTCHA Open API例題 - 音声受信
    <?php
      $client_id = "YOUR_CLIENT_ID";
      $key = "CAPTCHA_KEY";
      $url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=".$key."&X-NCP-APIGW-API-KEY-ID=".$client_id;
      $is_post = false;
      $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_HTTPHEADER, null);
      $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;
        $fp = fopen("captcha.jpg", "w+");
        fwrite($fp, $response);
        fclose($fp);
        echo "<img src='captcha.jpg'>";
      } else {
        echo "Error内容:".$response;
      }
    ?>
    // Naver CAPTCHA Open API例題 -キー入力値比較
    <?php
      $client_id = "YOUR_CLIENT_ID";
      $client_secret = "YOUR_CLIENT_SECRET";
      $key = "CAPTCHA_KEY";
      $code = "1";
      $value = "USER_VALUE";
      $url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=".$code."&key=".$key."&value=".$value;
      $is_post = false;
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_POST, $is_post);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $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;
      }
    ?>
    
    // Naver CAPTCHA API例題 -キー発行
    var express = require('express');
    var app = express();
    var client_id = 'YOUR_CLIENT_ID';
    var client_secret = 'YOUR_CLIENT_SECRET';
    var code = "0";
    app.get('/captcha/nkey', function (req, res) {
       var api_url = 'https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=' + code;
       var request = require('request');
       var options = {
           url: api_url,
           headers: {'X-NCP-APIGW-API-KEY-ID':client_id, 'X-NCP-APIGW-API-KEY': client_secret}
        };
       request.get(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/captcha/skey app listening on port 3000!');
     });
    
    // Naver CAPTCHA API例題 - 音声受信
    var express = require('express');
    var app = express();
    var client_id = 'YOUR_CLIENT_ID';
    var fs = require('fs');
    app.get('/captcha/wav', function (req, res) {
       var api_url = 'https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=' + req.query.key + req.query.key + "&X-NCP-APIGW-API-KEY-ID=" + client_id;
       var request = require('request');
       var options = {
           url: api_url
        };
        var writeStream = fs.createWriteStream('./captcha.wav');
        var _req = request.get(options).on('response', function(response) {
           console.log(response.statusCode) // 200
           console.log(response.headers['content-type'])
        });
      _req.pipe(writeStream); // fileに出力
      _req.pipe(res); // ブラウザに出力
     });
     app.listen(3000, function () {
       console.log('http://127.0.0.1:3000/captcha/wav?key=CAPTCHAキー app listening on port 3000!');
     });
    
    // Naver CAPTCHA Open API例題 -キー 入力値比較
    var express = require('express');
    var app = express();
    var client_id = 'YOUR_CLIENT_ID';
    var client_secret = 'YOUR_CLIENT_SECRET';
    var code = "1";
    app.get('/captcha/result', function (req, res) {
       var api_url = 'https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=' + code + '&key=' + req.query.key + '&value=' + req.query.value;
       var request = require('request');
       var options = {
           url: api_url,
           headers: {'X-NCP-APIGW-API-KEY-ID':client_id, 'X-NCP-APIGW-API-KEY': client_secret}
        };
       request.get(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/captcha/result?key=CAPTCHAキー&value=CAPTCHAバリュー app listening on port 3000!');
     })
    
    # Python 3.4 バージョン例題です。
    
    # Naver CAPTCHA API例題 -キー発行
    import os
    import sys
    import urllib.request
    client_id = "YOUR_CLIENT_ID"
    client_secret = "YOUR_CLIENT_SECRET"
    code = "0"
    url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code
    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)
    rescode = response.getcode()
    if(rescode==200):
        response_body = response.read()
        print(response_body.decode('utf-8'))
    else:
        print("Error Code:" + rescode)
    
    # Naver CAPTCHA API例題 -音声受信
    import os
    import sys
    import urllib.request
    client_id = "YOUR_CLIENT_ID"
    key = "YOUR_CAPTCHA_KEY" # CAPTCHA Key値
    url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=" + key + "&X-NCP-APIGW-API-KEY-ID=" + client_id;
    request = urllib.request.Request(url)
    response = urllib.request.urlopen(request)
    rescode = response.getcode()
    if(rescode==200):
        print("CAPTCHA音声保存")
        response_body = response.read()
        with open('captcha.wav', 'wb') as f:
            f.write(response_body)
    else:
        print("Error Code:" + rescode)
    
    # Naver CAPTCHA Open API例題 -キー入力値比較
    import os
    import sys
    import urllib.request
    client_id = "YOUR_CLIENT_ID"
    client_secret = "YOUR_CLIENT_SECRET"
    code = "1"
    key = "YOUR_CAPTCHA_KEY"
    value = "YOUR_CAPTCHA_VALUE"
    url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code + "&key=" + key + "&value=" + value
    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)
    rescode = response.getcode()
    if(rescode==200):
        response_body = response.read()
        print(response_body.decode('utf-8'))
    else:
        print("Error Code:" + rescode)
    
    // Naver CAPTCHA API例題 -キー発行
    using System;
    using System.Net;
    using System.Text;
    using System.IO;
    
    namespace NaverAPI_Guide
    {
        public class APIExamCaptchaNkey
        {
            static void Main(string[] args)
            {
                string code = "0"; //キー 発行時は0,  CAPTCHA音声比較時には1でセット
                string url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code;
                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");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string status = response.StatusCode.ToString();
                if(status == "OK")
                {
                    Stream stream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                    string text = reader.ReadToEnd();
                    Console.WriteLine(text);
                }
                else
                {
                    Console.WriteLine("Error発生=" + status);
                }
            }
        }
    }
    // Naver CAPTCHA API例題 - 音声受信
    using System;
    using System.Net;
    using System.Text;
    using System.IO;
    
    namespace NaverAPI_Guide
    {
        public class APIExamCaptchaAudio
        {
            static void Main(string[] args)
            {
                string key = "KEY-INPUT"; // https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey 呼び出しで受け取ったキーの値
                string url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=" + key  + "&X-NCP-APIGW-API-KEY-ID=YOUR-CLIENT-ID";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string status = response.StatusCode.ToString();
                Console.WriteLine("status="+ status);
                using (Stream output = File.OpenWrite("c:/captcha.wav"))
                using (Stream input = response.GetResponseStream())
                {
                    input.CopyTo(output);
                }
                Console.WriteLine("c:/captcha.wav was created");
            }
        }
    }
    
    // Naver CAPTCHA Open API例題 -キー 入力値比較
    using System;
    using System.Net;
    using System.Text;
    using System.IO;
    
    namespace NaverAPI_Guide
    {
        public class APIExamCaptchaNkeyResult
        {
            static void Main(string[] args)
            {
                string code = "1"; //キー 発行時は0, CAPTCHA音声比較時には1でセット
                string key = "KEY-INPUT";  // CAPTCHAキー 発行時に受け取ったキーの値
                string value = "VALUE-INPUT";  // ユーザーが入力したCAPTCHA音声文字の値
                string url = "https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skey?code=" + code + "&key=" + key + "&value=" + value;
                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");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string status = response.StatusCode.ToString();
                if(status == "OK")
                {
                    Stream stream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                    string text = reader.ReadToEnd();
                    Console.WriteLine(text);
                }
                else
                {
                    Console.WriteLine("Error発生=" + status);
                }
            }
        }
    }
    

    エラーコード

    HttpStatusCodeErrorCodeErrorMessage
    400CT002Unissued wav(音声発行を行わない。)
    403CT001Invalid key (キーが満了されたか存在しないキー)
    500CT500System error

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.