2011年11月22日火曜日

Google Translate API の有料版 - 開発者ガイド RESTの使用 その2

Google Translate APIは有料化され、
v1のJavaScriptによるアクセスはできなくなります。

有料版はAPIが変更され、
RESTによるアクセスを必要とします。

Googleのドキュメントでは、RESTによるアクセスを
HTTP GETメソッドによるものと、JavaScriptによるものを説明しています。

Developer's Guide (v2) Using REST
を翻訳してみます。

第1回はこちらです。

Identifying your application to Google - Googleへのアプリケーションの識別情報の送信
アプリケーションはGoogle Translate APIにリクエストを送る度ごと全てにおいて、リクエストにAPI Keyを含めることで、自己を確認する情報を送信する必要があります。

Acquiring and using an API key - API keyの取得と使用
API keyを取得するには、APIs Consoleにアクセスします。Serviceパネルの中の、Google Translate APIをアクティブ化します;Terms of Service(サービスの条件)が現れますので、読んだ上で承認してください。
次に、API Accessパネルに移ります。API keyがパネルの一番下の辺りの「Simple API Access」というセクションの中にあるはずです。
API keyを取得した後は、アプリケーション内で全てのリクエストのURLに「key=取得したAPI key」をクエリパラメータに追加します。
API keyは安全にURLに組み込むことができます;それ以外のコーディングは必要ありません。

Translate Text - テキストの翻訳
Working with results - 結果の取得
指定のURIに向けたHTTP GETリクエストを送ることで、テキストをある言語から他の言語へ翻訳することができます。リクエストのURIは以下の形式となります。
https://www.googleapis.com/language/translate/v2?parameters
それぞれの翻訳のリクエストには3つのパラメータが必要です。
・API key - keyクエリパラメータをアプリケーションの識別に使います。
・翻訳先言語 - targetクエリパラメータを、翻訳したい言語を指定するために使います。
・翻訳元テキスト文字列 - qクエリパラメータを、翻訳する文字列を指定するために使います。
全てのクエリパラメータは任意です。GETメソッドのURLは、パラメータを含め、2K文字未満でなければなりません。
Note:単一のリクエストでより多くのデータを送信したい場合、APIを呼び出すためにPOSTメソッドを使用することもできます。POSTメソッドのbody内の「q」パラメータは、5K文字未満出なければなりません。POSTメソッドを使用するには、X-HTTP-Method-Overrideヘッダを使って、リクエストをGETメソッドとして扱い(X-HTTP-Method-Override: GETを使用)、Translate APIに送信しなければなりません。
以下のコードは、翻訳元言語を指定する例で、sourceクエリパラメータを使用しています:
GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world
リクエストが成功すると、サーバーは200 OKのHTTPステータスコードとデータプロパティを返します。
JSON
200 OK

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt"
            }
        ]
    }
}
以下のサンプルは、複数の翻訳元テキストを翻訳するために送信します:
GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world&q=My%20name%20is%20Jeff
リクエストが成功すると、サーバーは200 OKのHTTPステータスコードとデータプロパティを返します。
JSON
200 OK

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt"
            },
            {
                "translatedText": "Mein Name ist Jeff"
            }
        ]
    }
}
以下のサンプルは、翻訳元言語を自動判別します:
GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&target=de&q=Hello%20world
リクエストが成功すると、サーバーは200 OKのHTTPステータスコードとデータプロパティを返します。
JSON
200 OK

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt",
                "detectedSourceLanguage": "en"
            }
        ]
    }
}

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/

0 件のコメント:

コメントを投稿