首页 > 解决方案 > 有没有办法在代码中为谷歌云翻译设置 API 密钥?

问题描述

我正在尝试使用 Google Cloud Translation API。我已经生成了 API 密钥,但我没有存储我的凭据的 .json 文件。有没有办法将我的 API 密钥放入代码中,以便我可以使用翻译方法?我只找到了需要 .json 文件的方法,但我没有。我发现了一个不推荐使用的方法:

Translate translate = TranslateOptions.newBuilder().setApiKey(API_KEY).build().getService();

但它向我显示错误:

W/TranslateOptions: Ignoring Application Default Credentials {0}: using explicit setting for API key instead.
W/System.err: 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.
W/System.err:     at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134)

任何帮助,将不胜感激!

编辑: 当我输入环境变量 GOOGLE API KEY 并写道:

 Translate translate = TranslateOptions.getDefaultInstance().getService();
    Translation translation = translate.translate("¡Hola Mundo!");

我在 translate.translate() 行上遇到错误,它像 GET 方法一样发送请求,而不是像 POST,这就是为什么它说它缺少有效的 API 密钥,因为它根本没有发送 API 密钥。

com.google.cloud.translate.TranslateException: The request is missing a valid API key.

标签: javaandroidgoogle-cloud-platformcloudgoogle-translation-api

解决方案


创建环境变量:GOOGLE_API_KEY

环境变量将您的 API 密钥作为值。

然后执行以下代码:

  import com.google.cloud.translate.Translate;
  import com.google.cloud.translate.TranslateOptions;

  Translate translate = TranslateOptions.getDefaultInstance().getService();

-- 已编辑

这个怎么样:

 HttpTransportOptions transportOptions = TranslateOptions.getDefaultHttpTransportOptions();
  transportOptions =
      transportOptions.toBuilder().setConnectTimeout(60000).setReadTimeout(60000).build();


  TranslateOptions translateOptions =
      TranslateOptions.newBuilder()
          .setApiKey(apiKey)
          .setTransportOptions(transportOptions)
          .build();


   Translate translate = translateOptions.getService();

推荐阅读