Google日本語入力API試してみた。

Google日本語入力のAPIが面白そうだったので試してみた。


とりあえずPHPでプロキシ。
file_get_contentsでいいかとは思ったけど、一応PEARのHTTP_Request使う。

<?php
require_once('HTTP/Request.php');

$url = 'http://www.google.com/transliterate';
$req = new HTTP_Request($url);
$req->addQueryString('langpair', 'ja-Hira|ja');
$req->addQueryString('text', $_GET['text']);
$req->sendRequest();

if($req->getResponseCode() === 200) {
    print($req->getResponseBody());    
} else {
    print(null);
}


で、クライアント画面。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript">
            window.onload = function() {
                var txt = document.getElementById('aaa');
                var btn = document.getElementById('bbb');
                var log = document.getElementById('log');
                btn.addEventListener('click', function() {
                    var value = txt.value;
                    var xhr = new XMLHttpRequest();
                    xhr.open('GET', './proxy.php?text='+encodeURI(value), true);
                    xhr.onreadystatechange = function() {
                        if(xhr.readyState === 4) {
                            var json = JSON.parse(xhr.responseText);
                            log.innerHTML = JSON.stringify(json);
                        }
                    };
                    xhr.send(null);
                }, false);
            };
        </script>
        <title>Test</title>
    </head>
    <body>
        <h1>Test</h1>
        <div>
            <input type="text" id="aaa" style="width:400px;" />
            <input type="button" id="bbb" value="send" />
        </div>
        <div id="log"></div>
    </body>
</html>


「きしゃのきしゃがきしゃできしゃした」で変換してみて、とりあえず結果だけみる。

[
["きしゃのきしゃが",
["貴社の記者が","きしゃのきしゃが","キシャノキシャガ"]
],
["きしゃできしゃした",
["汽車で帰社した","きしゃできしゃした","キシャデキシャシタ"]
]
]


langpairパラメータに渡せる値にどんな種類があるのかが気になるところ。
これ使えば海外のPCでも日本語のメール書いたりとか、できるようになるのかな。


クライアント用のAPIも公開されるらしいので、期待して待っていよう。