Проблема с Yandex Translate Api
Получил API ключ Яндекса чтобы использовать в Android приложении, вроде бы должен работать, получал через сервисный аккаунт Яндекса. Для перевода текста использую данный метод.
private String translate(String text) {
YTranslateApi api = new YTranslateApiImpl(API_TRANSLATE_KEY);
if (Build.VERSION.SDK_INT >= 24) {
Translation translate = api.translationApi().translate(text, Language.EN);
return translate.text();
}
return "";
}
api translate key это тот api что я получил. При вызове метода вылетает данное исключение на строке Translation translate = api.translationApi().translate(text, Language.EN);
com.github.vbauer.yta.service.basic.exception.YTranslateException: Could not call method "/translate" using {format=plain, text=аааапп, lang=en}
at com.github.vbauer.yta.service.transport.impl.RestClientImpl.callMethod(RestClientImpl.java:85)
at com.github.vbauer.yta.service.basic.AbstractApi.callMethod(AbstractApi.java:49)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:81)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:63)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:51)
at com.example.soundtranslator.FragmentHome$1.onClick(FragmentHome.java:67)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1565)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:115)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getAllByName(InetAddress.java:1152)
at com.android.okhttp.Dns$1.lookup(Dns.java:41)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:178)
at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:144)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:86)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:176)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
at com.github.vbauer.yta.service.transport.impl.RestClientImpl.callMethod(RestClientImpl.java:64)
at com.github.vbauer.yta.service.basic.AbstractApi.callMethod(AbstractApi.java:49)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:81)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:63)
at
com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:51)
at com.example.soundtranslator.FragmentHome$1.onClick(FragmentHome.java:67)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
Подскажите пожалуйста что я делаю не так, метод делал с помощью этого материала https://github.com/vbauer/yandex-translate-api
Новая ошибка:
com.github.vbauer.yta.service.basic.exception.YTranslateException: Could not call method "/translate" using {format=plain, text=Привет, lang=en}
at com.github.vbauer.yta.service.transport.impl.RestClientImpl.callMethod(RestClientImpl.java:85)
at com.github.vbauer.yta.service.basic.AbstractApi.callMethod(AbstractApi.java:49)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:81)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:63)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:51)
at com.example.soundtranslator.FragmentHome$1$1.run(FragmentHome.java:70)
at java.lang.Thread.run(Thread.java:919)
Caused by: com.github.vbauer.yta.service.basic.exception.YTranslateApiException: Can not retrieve information from Yandex Translate service. Status: 403
at com.github.vbauer.yta.service.basic.ApiStatus.check(ApiStatus.java:69)
at com.github.vbauer.yta.service.transport.impl.RestClientImpl.callMethod(RestClientImpl.java:71)
at com.github.vbauer.yta.service.basic.AbstractApi.callMethod(AbstractApi.java:49)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:81)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:63)
at com.github.vbauer.yta.service.fraction.impl.TranslationApiImpl.translate(TranslationApiImpl.java:51)
at com.example.soundtranslator.FragmentHome$1$1.run(FragmentHome.java:70)
at java.lang.Thread.run(Thread.java:919)