<追記:2018年6月26日>
このブログ記事で紹介されているサンプルはAPIバージョン2を使用しており、現在は「Deprecated」(廃止予定)となっています。
新しいAPIバージョン3のサンプルがGitHubにございますので、ご参照くださいませ。
「 https://github.com/MicrosoftTranslator 」にあります。
PHPによる「Microsoft Translator Text API」の翻訳サンプルです。
日本語での情報があまりなかったので、まとめておきますね。
以下のPHPプログラムはAzureポータルサイトから取得した認証キーを設定するだけでそのまま実行できます。
認証キーの取得方法はQiitaの「Microsoft Translator テキスト API で、日本語を英語に翻訳するサンプル」の記事にて詳しく解説されていらっしゃいます。
以下のPHPプログラムは「http://www.aw6.de/azure/」に掲載されているコードの一部を改変して、日本語のコメントを付け加えて再掲載したものです。
<?php // まずあらかじめ翻訳するための認証キーをAzureポータルサイトから // 取得しておき、以下のKEY_1と置き換えます $azure_key = "KEY_1"; // 翻訳元言語です // 翻訳可能な言語の一覧は以下のブログ記事に載っています // http://ken-tokyo.hatenablog.com/entry/2017/12/08/150212 $fromLanguage = "en"; // 翻訳先言語です $toLanguage = "ja"; // 翻訳する英文です $inputStr = "This is a pen."; // 翻訳するためのトークンを取得する関数です // このトークンの有効期限は、取得してから10分間とかなり短めです function getToken($azure_key) { $url = 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'; $ch = curl_init(); $data_string = json_encode('{body}'); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string), 'Ocp-Apim-Subscription-Key: ' . $azure_key ) ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $strResponse = curl_exec($ch); curl_close($ch); return $strResponse; } // 翻訳を実行する関数です function curlRequest($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml")); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $curlResponse = curl_exec($ch); curl_close($ch); return $curlResponse; } // 翻訳するためのトークンを取得します。有効期限は取得後10分間です $accessToken = getToken($azure_key); // 翻訳するための文字列を生成します $params = "text=" . urlencode($inputStr) . "&to=" . $toLanguage . "&from=" . $fromLanguage . "&appId=Bearer+" . $accessToken; // 翻訳するためのURLを生成します $translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params"; // 翻訳を実行します $curlResponse = curlRequest($translateUrl); // 翻訳結果はxmlで帰ってくるのでそれを読み込みます $translatedStr = simplexml_load_string($curlResponse); // 翻訳結果をブラウザに表示します echo "<p>From " . $fromLanguage . ": " . $inputStr . "<br>"; echo "To " . $toLanguage . ": " . $translatedStr . "<br>"; echo date("r") . "</p>"; ?>