文書
API ドキュメント
http://docs.microsofttranslator.com/text-translate.html
概要
- REST API 呼び出しである。(GET)
- 認証情報を渡す必要がある。2種類の方法がある
- 1段階。
- (1)翻訳サービスにアクセスキーを直接指定する
- 2段階。
- (1)アクセスキーを用いて 10分間有効なアクセストークンを生成
- (2)翻訳サービスにアクセストークンを渡す
- 短いインターバルで翻訳サービスを呼ぶ場合に性能面で有利と思われる。
- 1段階。
- パラメータ概要
- 認証情報
- appid または Authorization を利用する場合、予めアクセストークンを取得し、"Bearer" + " " + "access_token" 形式で指定。
- Ocp-Apim-Subscription-Key を利用する場合、アクセスキーを指定。
- 翻訳対象のテキスト
- 翻訳先の言語
- 翻訳元の言語(オプショナル)
- contentType(オプショナル)
- category(オプショナル)
- => 詳しくは、API ドキュメントを参照のこと
- 認証情報
実装
ポイント
- 翻訳サービスにアクセスキーを直接指定する方式を採用
- アクセスキーは、Azure の Translator Text API リソースの「キー」にて確認したものを設定
- 必須パラメータのみ設定
var https = require('https');
var qs = require('querystring');
(function() {
"use strict";
translate('こんにちは', function (translated) {
console.log("translated = " + translated);
});
})();
function translate(text, callback) {
var subscriptionKey = "アクセスキー(1または2)を指定してください";
var params = '&from=ja' +
'&to=en' +
'&text=' + qs.escape(text) +
'&oncomplete=translated';
var body = '';
var options = {
host: 'api.microsofttranslator.com',
path: '/V2/Http.svc/Translate?' + params,
method: 'GET',
headers: {
'Ocp-Apim-Subscription-Key': subscriptionKey
}
};
var req = https.request(options, function (res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
body += chunk;
}).on('end', function () {
callback(body);
});
}).on('error', function (err) {
console.log(err);
});
req.end();
}
参考
- Microsoft Translator APIを使ってみる
- Microsoft Translator テキスト API で、日本語を英語に翻訳するサンプル