2016-04-17 12 views
0

私はGoogle Translate APIをcurlでテストしていますが、パラメータqがURLにすでに存在している間は質問し続けます(q = Hello%20World)。 Google Translate APIがこのエラーを返すのはなぜですか?test google translate curlによるAPI

カールhttps://www.googleapis.com/language/translate/v2?key= &ソース= &ターゲット=デ& Q =こんにちは%20World

[1] 16848 
[2] 16849 
[3] 16850 
[2]- Done     source=en 
[3]+ Done     target=de 
foo:~ foo$ { 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Required parameter: q", 
    "locationType": "parameter", 
    "location": "q" 
    }, 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Required parameter: target", 
    "locationType": "parameter", 
    "location": "target" 
    } 
    ], 
    "code": 400, 
    "message": "Required parameter: q" 
} 
} 

ヘルプエン?

答えて

2

あなたはのように、二重引用符であなたの全体のURLを包囲する必要があります。

curl "https://www.googleapis.com/language/translate/v2?key=&source=en&target=de&q=Hello%20World"

そうでない場合は、お使いのシェルが実際にcurlを実行する前に、それらの&文字を解釈します。そのため、最初はこれらの行がすべて表示されています:

[1] 16848 
[2] 16849 
[3] 16850 
[2]- Done     source=en 
[3]+ Done     target=de 
関連する問題