我正在尝试使用此调用方法使用Google翻译:
StringBuilder result = new StringBuilder();
Log.e("INFO", "texttotranslate, from and to are:" + texttotranslate + ", " + from + " and " + to);
String key="MY_PERSONAL_API_KEY";
try {
String encodedText = URLEncoder.encode(texttotranslate, "UTF-8");
Log.e("INFO", "encoded without troubles UTF-8");
String urlStr = "https://www.googleapis.com/language/translate/v2?key=" + key + "&q=" + encodedText + "&target=" + to + "&source=" + from;
Log.e("INFO", "called Google APIs correctly (I think)");
URL url = new URL(urlStr);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
Log.e("INFO", "opened httpsURLConnection correctly");
InputStream stream;
Log.e("INFO", "input repsonse stream = "+conn.getResponseCode());
if (conn.getResponseCode() == 200) //success
{
stream = conn.getInputStream();
Log.e("INFO", "gets input stream correctly");
} else
stream = conn.getErrorStream();
Log.e("INFO", "failed to get input stream correctly");
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
Log.e("INFO", "line currently = " + line);
}
我失败了,得到以下错误:
07-03 13:09:07.167 20916-21078 / net.stuffilike.multitranslater E / INFO:无故障编码UTF-8 07-03 13:09:07.168 20916-21078 / net.stuffilike.multitranslater E / INFO:正确称为Google API(我认为) 07-03 13:09:07.179 20916-21078 / net.stuffilike.multitranslater E / INFO:正确打开httpsURLConnection 07-03 13:09:07.467 20916-21078 / net.stuffilike.multitranslater E / INFO:输入repsonse stream = 400 07-03 13:09:07.468 20916-21078 / net.stuffilike.multitranslater E / INFO:无法正确获取输入流 07-03 13:09:07.468 20916-21078 / net.stuffilike.multitranslater E / INFO:当前行= { 07-03 13:09:07.468 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“error”:{ 07-03 13:09:07.468 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“code”:400, 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“message”:“找不到API密钥。请传递有效的API密钥。”, 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“errors”:[ 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:当前行= { 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“message”:“找不到API密钥。请传递有效的API密钥。”, 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“domain”:“global”, 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“reason”:“badRequest” 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:当前行=} 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =], 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:line current =“status”:“INVALID_ARGUMENT” 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:当前行=} 07-03 13:09:07.469 20916-21078 / net.stuffilike.multitranslater E / INFO:当前行=} 07-03 13:09:07.498 20916-21078 / net.stuffilike.multitranslater E / INFO:result = {“error”:{“code”:400,“message”:“找不到API密钥。请传递有效的API key。“,”errors“:[{”message“:”找不到API密钥。请传递有效的API密钥。“,”domain“:”global“,”reason“:”badRequest“}],”status“ :“INVALID_ARGUMENT”}}
我已尝试过其他API密钥,但结果相同,建议给我一些其他错误。任何人都可以给我一个有效的线索来吸引我吗?
编辑:根据我发送的字符串,我可以获得需要有效API密钥的错误,或者说明我的客户端发送了格式错误或非法请求的消息。两种类型的请求都包括密钥。有人看过这个吗?