料金体系 
テキスト翻訳料金

ダーク

ライト

システムメンテナンスのお知らせ(8/13更新)

AUTHENTICATION
認証方法
セキュリティのため、このAPIを利用するには、暗号化署名を生成する必要がございます。 アカウントが発行されると、accessKeyとsecrectKeyを取得できます。この2つのキーで暗号化署名を生成してリクエストすることができます。 リクエストするときに、Headerに次の情報を設定してください。
Header
Header
Description
accessKey
ご自身のAccessKey。
nonce
数値の文字列。 リクエスト毎に増加させる必要があります。通常はUNIXタイムスタンプ(ミリ秒)を使うのがおすすめです。
signature
暗号化署名。 sha256とhmacアルゴリズムを使用し、ご自身のsecretKeyにnonceとurl(ドメイン以外の部分)で署名し、生成させた16進数の文字列。

具体的な計算方法は、各言語のサンプルコードを参照してください。


暗号化署名(signature)を生成し、各APIにアクセスする際に設定してください。例として、「hello」というAPIにアクセスします。

/api/v1/hello
「hello」は特別な機能を持たないAPIです。各APIを利用する際に、「hello」を利用したいAPIに置き換えてください。

01

/

まずは暗号化署名(signature)生成の機能を書きます。

func MakeHMAC(nonce, path, secretKey string) string {
    // Create a new HMAC by defining the hash type and the key (as byte array)
    h := hmac.New(sha256.New, []byte(secretKey))
  
    // Write Data to it
    h.Write([]byte(nonce))
    h.Write([]byte(path))
  
    // Get result and encode as hexadecimal string
    sha := hex.EncodeToString(h.Sum(nil))
  
    fmt.Println("Result: " + sha)
    return sha
  }

02

/

Headerを設定し、APIにアクセスします。

// Generate a full URL
func GetFullUrl(base, path string) string {
  var buffer bytes.Buffer
  buffer.WriteString(base)
  buffer.WriteString(path)
  return buffer.String()
}

func GetApiExample(accessKey, secretKey, basePath, nonce string) {
  helloPath := "/api/v1/hello"
  // Generate a signature
  signHello := MakeHMAC(nonce, helloPath, secretKey)

  // Set headers and call the api
  client := &http.Client{}
  req, _ := http.NewRequest("GET", GetFullUrl(basePath, helloPath), nil)
  req.Header.Set("nonce", nonce)
  req.Header.Set("accessKey", accessKey)
  req.Header.Set("signature", signHello)
  res, err := client.Do(req)

  // Output response
  if err != nil {
    fmt.Printf("The HTTP request failed with error %s\n", err)
  } else {
    data, _ := ioutil.ReadAll(res.Body)
    fmt.Println(string(data))
  }
}

03

/

Mainファンクションを書いて、実行します。

import "strconv"

  func main() {
    fmt.Println("Starting the application...")
  
    accessKey := "Your Access Key"
    secretKey := "Your Secret Key"
    BasePath := "https://translate.classiii.info"
    millis:= time.Now().UnixNano() / 1e6
    nonce := strconv.FormatInt(millis, 10)
  
    GetApiExample(accessKey, secretKey, BasePath, nonce)
    fmt.Println("Terminating the application...")
  }