Do you have to use Google Cloud Server to use the Cloud Translation API?

65 views
Skip to first unread message

이강원

unread,
Mar 6, 2020, 9:34:41 AM3/6/20
to Google Cloud Translation API



The program was distributed using the Cloud Translation API to a private server, not Google Cloud Server.

There was no problem locally (MAC OS).

Executing an error will occur.


Do you have to use Google Cloud Server to use the Cloud Translation API?




dev-api.search | 05-Mar-2020 11:08:05.729 INFO [http-nio-8080-exec-1] com.google.auth.oauth2.ComputeEngineCredentials.runningOnComputeEngine Failed to detect whether we are running on Google Compute Engine.

dev-api.search | java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.

dev-api.search | at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134)
dev-api.search | at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:113)
dev-api.search | at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:85)
dev-api.search | at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:67)
dev-api.search | at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:135)
dev-api.search | at com.google.cloud.translate.v3.stub.GrpcTranslationServiceStub.create(GrpcTranslationServiceStub.java:170)
dev-api.search | at com.google.cloud.translate.v3.stub.TranslationServiceStubSettings.createStub(TranslationServiceStubSettings.java:204)
dev-api.search | at com.google.cloud.translate.v3.TranslationServiceClient.<init>(TranslationServiceClient.java:146)
dev-api.search | at com.google.cloud.translate.v3.TranslationServiceClient.create(TranslationServiceClient.java:127)
dev-api.search | at com.google.cloud.translate.v3.TranslationServiceClient.create(TranslationServiceClient.java:118)
dev-api.search | at com.insiar.api.search.controller.ElasticSearchController.test(ElasticSearchController.java:51)
dev-api.search | at com.insiar.api.search.controller.ElasticSearchController$$FastClassBySpringCGLIB$$4be26ea4.invoke(<generated>)
dev-api.search | at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
dev-api.search | at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
dev-api.search | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
dev-api.search | at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)
dev-api.search | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
dev-api.search | at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
dev-api.search | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
dev-api.search | at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
dev-api.search | at com.insiar.api.search.controller.ElasticSearchController$$EnhancerBySpringCGLIB$$25dec9b8.test(<generated>)
dev-api.search | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
dev-api.search | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
dev-api.search | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
dev-api.search | at java.lang.reflect.Method.invoke(Method.java:498)
dev-api.search | at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
dev-api.search | at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
dev-api.search | at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
dev-api.search | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
dev-api.search | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
dev-api.search | at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
dev-api.search | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
dev-api.search | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
dev-api.search | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
dev-api.search | at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
dev-api.search | at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
dev-api.search | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
dev-api.search | at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at com.insiar.api.search.common.filter.HttpRequestLoggingFilter.doFilter(HttpRequestLoggingFilter.java:45)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
dev-api.search | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
dev-api.search | at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
dev-api.search | at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
dev-api.search | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)
dev-api.search | at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114)
dev-api.search | at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104)
dev-api.search | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
dev-api.search | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
dev-api.search | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
dev-api.search | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
dev-api.search | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
dev-api.search | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
dev-api.search | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
dev-api.search | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
dev-api.search | at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
dev-api.search | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
dev-api.search | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
dev-api.search | at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
dev-api.search | at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
dev-api.search | at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
dev-api.search | at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
dev-api.search | at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
dev-api.search | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
dev-api.search | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
dev-api.search | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
dev-api.search | at java.lang.Thread.run(Thread.java:748)
dev-api.search | 
dev-api.search | 2020-03-05 11:08:05.766 DEBUG 1 --- [nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Using 'application/json', given [*/*] and supported [application/json, application/*+json]
dev-api.search | 2020-03-05 11:08:05.782 DEBUG 1 --- [nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Writing [Result(data=null)]


Message has been deleted

Yue Shi

unread,
Mar 6, 2020, 12:35:51 PM3/6/20
to Google Cloud Translation API
It complained about missing GOOGLE_APPLICATION_CREDENTIALS. Have you set the environment variable GOOGLE_APPLICATION_CREDENTIALS to your service account key?

Abdel (Cloud Platform Support)

unread,
Mar 6, 2020, 12:37:13 PM3/6/20
to google-tra...@googlegroups.com
You can make Transalate API from anywhere as long you're authenticated!

Google Cloud APIs supports the following authentication strategies: API key, Service account key, Environment-provided service account and OAuth 2.0 client.

1. To get started quickly using the 'Service account key' authentication strategy, follow the steps 1&2 here.
2. If you run code inside a Google Cloud environment (such as GCE), you do not need to specify a service_account key as Applicaton Default Credentials pulls a default service account key from your environment called compute_engine service account. So basically if you are not running inside such environments, you need to explicitly specify a service accounts as described in 1. This should address the issue you're facing!

I hope that this clarifies things a bit for you. Let me know if you any more questions.
Reply all
Reply to author
Forward
0 new messages