首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种在代码API键中设置Google翻译的方法?

是否有一种在代码API键中设置Google翻译的方法?
EN

Stack Overflow用户
提问于 2021-09-02 11:03:38
回答 1查看 246关注 0票数 0

我正在尝试使用。我已经生成了API密钥,但是我没有存储我的凭据的.json文件。有没有办法将我的API键放在代码中,这样我就可以使用翻译方法了?我只找到了需要拥有.json文件的方法,但我没有它。我找到了一种不推荐的方法:

代码语言:javascript
运行
复制
Translate translate = TranslateOptions.newBuilder().setApiKey(API_KEY).build().getService();

但它显示了我的错误:

代码语言:javascript
运行
复制
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键放入并编写如下:

代码语言:javascript
运行
复制
 Translate translate = TranslateOptions.getDefaultInstance().getService();
    Translation translation = translate.translate("¡Hola Mundo!");

我在translate.translate()行中出错,它发送请求,比如GET方法,而不是POST,这就是为什么它说它缺少一个有效的API密钥,因为它根本没有发送API。

代码语言:javascript
运行
复制
com.google.cloud.translate.TranslateException: The request is missing a valid API key.
EN

回答 1

Stack Overflow用户

发布于 2021-09-02 12:12:40

创建一个环境变量: GOOGLE_API_KEY

环境变量以API键作为值。

然后执行以下代码:

代码语言:javascript
运行
复制
  import com.google.cloud.translate.Translate;
  import com.google.cloud.translate.TranslateOptions;

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

-编辑

这个怎么样:

代码语言:javascript
运行
复制
 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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69029007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档