我正在使用 Google Cloud Translate v3 API Java 客户端。 Java 客户端代码示例运行良好。代码示例的身份验证是使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量完成的。
我需要开发将在我无法控制环境变量的应用程序服务器中运行的代码。所以我需要使用另一种方法来验证调用。
Setting Up Authentication for Server to Server Production Applications ,在“在代码中传递服务帐户 key 的路径”下有一个适用于存储服务的代码示例(选择 JAVA 选项卡),但我找不到类似的方法将 GoogleCredentials 传递给 Translation v3 API Java Client .有人知道吗?
另外,我找不到 v3 API 的 Java 文档。 https://googleapis.dev/java/google-cloud-clients/latest/index.html显示版本“0.119.0-alpha”,但未列出包 com.google.cloud.translate.v3。是否有单独的 Java 文档页面?
最佳答案
我想我找到了解决方案。
客户端 API javadoc 没有列出 com.google.cloud.translate.v3,但它列出了 com.google.cloud.translate.v3beta1。在 TranslationServiceClient 的 javadoc 中,即 https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/translate/v3beta1/TranslationServiceClient.html
提到了设置凭据,这种方法奏效了!
TranslationServiceSettings translationServiceSettings =
TranslationServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
TranslationServiceClient translationServiceClient =
TranslationServiceClient.create(translationServiceSettings);
关于java - 如何将凭证传递给 Translation API v3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59776308/