如何将凭证传递给 Translation API v3?
Posted
技术标签:
【中文标题】如何将凭证传递给 Translation API v3?【英文标题】:How to pass the credential to Translation API v3? 【发布时间】:2020-05-03 16:32:59 【问题描述】:我正在使用 Google Cloud Translate v3 API Java 客户端。 Java 客户端代码示例运行良好。代码示例的身份验证是使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量完成的。
我需要开发将在我无法控制环境变量的应用程序服务器中运行的代码。所以我需要使用另一种方式来验证呼叫。 Setting Up Authentication for Server to Server Production Applications,在“将路径传递给代码中的服务帐户密钥”下有一个适用于存储服务的代码示例(选择 JAVA 选项卡),但我找不到类似的方法将 GoogleCredentials 传递给 Translation v3 API Java 客户端。有人知道吗?
另外,我找不到 v3 API 的 Java 文档。 https://googleapis.dev/java/google-cloud-clients/latest/index.html 显示版本“0.119.0-alpha”,它没有列出包 com.google.cloud.translate.v3。是否有单独的 java 文档页面?
【问题讨论】:
【参考方案1】:我想我找到了解决办法。 客户端 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);
【讨论】:
以上是关于如何将凭证传递给 Translation API v3?的主要内容,如果未能解决你的问题,请参考以下文章