Я занимаюсь разработкой приложения для Android, в котором мне нужно преобразовать речь пользователя в текст (с помощью API речи Google Cloud) и затем этот текст на другой язык (с помощью API перевода облака Google).
Теперь
Я успешно преобразовал речь пользователя в текст, но проблема заключается в том, что при преобразовании этого текста на другой язык в теле ответа ничего не получается.Когда я отправляю запрос в API облачного перевода с помощью моего браузера (например, Google Chrome), он возвращается, как и ожидалось (показано ниже).
Отправленный мной запрос: https://translation.googleapis.com/language/translate/v2?target=es&key=MY_API_KEY&q=this%20is%20the%20text%20which%20is%20need%20to%20be%20translated
{
"data": {
"translations": [
{
"translatedText": "este es el texto que debe ser traducido",
"detectedSourceLanguage": "en"
}
]
}
}
Но проблема в том, что когда я отправляю тот же запрос из моего приложения, используя OkHttp3, он возвращает следующий ответ
Ответ {protocol = h2, code = 200, message =, url = https://translation.googleapis.com/language/translate/v2?target=es&key=MY_API_KEY&q=this%20is%20the%20text%20which%20is%20need%20to%20be%20translated}
body = OkHttp-Selected-Protocol: тип содержимого h2: application / json;charset = UTF-8 разные: происхождение разные: X-происхождение разные: дата реферирования: вс, 30 сентября 2018 08:27:40 GMT сервер: управление кэшем ESF: частная защита x-xss: 1;mode = block x-frame-options: SAMEORIGIN x-content-type-options: nosniff alt-svc: quic = ": 443";ма = 2592000;v = "44,43,39,35" OkHttp-Sent-Millis: 1538296059111 OkHttp-Received-Millis: 1538296060590
okhttp3 зависимость показана ниже
compile 'com.squareup.okhttp3:okhttp:3.11.0'
Мой коддля перевода текста показано ниже
private void getTranslation(String url) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Toast.makeText(SpeechService.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onResponse(Response response) throws IOException {
String res = response.body().toString();
String mess = response.message(); //gets nothing as message response
}
});
}
Примечание: Даже я получаю код 200, но все равно в сообщении ответа ничего нет