j2me google翻译api

时间:2011-12-14 07:05:05

标签: api java-me google-translate midp google-translation-api

我真的需要一个如何使用google translate API v2翻译文本的示例。

我已经实施了以下内容:

String googleUrl="https://www.googleapis.com/language/translate/v2?key=<My Key>";
googleUrl+="&q=";
googleUrl+=urlEncode(txtFeedback.getString());
googleUrl+="&source=";
googleUrl+=System.getProperty("microedition.locale").substring(0, 2);
googleUrl+="&target=en";
HttpConnection googlAPI = null;
DataInputStream dis = null;

StringBuffer response = new StringBuffer();
googlAPI = (HttpConnection)Connector.open(googleUrl);


googlAPI.setRequestMethod(HttpConnection.GET);
dis = new DataInputStream(googlAPI.openInputStream());
int ch;
while ((ch = dis.read()) != -1) {
    response.append((char) ch);
}


String tt = response.toString();
tt = tt.substring(tt.indexOf("{"));
JSONObject js = new JSONObject(tt);
params +=js.getJSONObject("data").getJSONArray("translations").getJSONObject(0)
              .getString("translatedText") + crlf;

但此代码会抛出 证书例外:证书由无法识别的实体发出

它会在我的真实设备 Samsung GT-S5230 以及模拟器

上引发异常

真的需要帮助。

如果我做错了,那么举个例子如何从j2me midlet调用google翻译API会很棒。

1 个答案:

答案 0 :(得分:1)

快速查看表明您正在访问 https 网址:

  

String googleUrl =“https://www.googleapis.com/language/translate/v2?key=”;

使用httpConnection

  

googlAPI =(HttpConnection)Connector.open(googleUrl);

将其更改为HttpsConnection

HttpsConnection googlAPI = null;
...
googlAPI = (HttpsConnection) Connector.open(googleUrl);

让我们看看它是怎么回事。