2011-05-15 8 views
0

私はウェブサイトのカップル(http://goo.gl/usUSP)でこのコードを見つけました:Googleキーなしでgoogle-translateを使用できますか?

<?php 
// Basic request parameters: 
// s = source language 
// d = destination language 
// q = Text to be translated 

$s = $_REQUEST['s']; 
if(!$s)echo "translate.php?s=en&d=es&q=Hello%20World"; 
$d = $_REQUEST['d']; 
$lang_pair = urlencode($s.'|'.$d); 
$q = urlencode($_REQUEST['q']); 

// Google's API translator URL 
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".$q."&langpair=".$lang_pair; 

// Make sure to set CURLOPT_REFERER because Google doesn't like if you leave the referrer out 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_REFERER, "http://www.yoursite.com/translate.php"); 
$body = curl_exec($ch); 
curl_close($ch); 

$json = json_decode($body, true); 
echo $json['responseData']['translatedText']; 
?> 

[OK]を基本的に私が知っていることから、APIをGoogle翻訳を使用して、すべてのコールは、(有効なキーを提供する必要がありますユーザーのキー)。

上記の例のコードからは、キーが与えられておらず、動作します!証明:http://juzcode.com/translate.php?s=en&d=es&q=Hello%20World

1)どのようにこれがも可能です:

私は、この問題に関する3つの質問を持っていますか? (私はあまりphpのリテラートではない)

2)Googleの制限はGoogleキーごとに100k文字です。この例ではキーは使用していません。だから基本的に私は無制限の使用を持っていますか?

3)http://code.google.com/apis/language/translate/terms.htmlに違反していますか? (私は本当に、それを読むことを試みてきました!しかし、私は弁護士だん、私はちょうど確認したいと思います)

答えて

1

1)これはどのようにしても可能ですか? (私は 非常にPHPの読み書きがないんだけど)

ザ・はREST APIは、AJAXベースの通話ではなく、自動化されたサーバーベースのAPIのためのものです。

2)Googleの制限はGoogleキーごとに100k 文字です。例 はキーを使用しません。だから基本的に私は 無制限の使用を持っていただろうか?

3)違反していますか? http://code.google.com/apis/language/translate/terms.html

:あなたはのでことを行うにはしたくない

(私は本当に、それを読むことを試みた。しかし私は弁護士だん は、私はちょうど ことを確認したいと思います!)

ユーザー生成の翻訳では、Google Translate APIを にする必要があります。 種類の自動またはバッチクエリは、厳密に禁止されています。

PHPのcurlを使用することは自動化されたリクエストとみなされます。代わりにRest APIを使用してください。鍵が必要です。

関連する問題