如何为Google Compute Engine设置GOOGLE_APPLICATION_CREDENTIALS?

时间:2016-02-25 14:09:44

标签: java eclipse google-compute-engine

我有Google Compute Engine的凭据文件,重命名为key.json。下一步是使用名称GOOGLE_APPLICATION_CREDENTIALS设置环境变量。但它表示错误:从环境变量GOOGLE_APPLICATION_CREDENTIALS ... path读取凭据文件时出错。从流中读取凭据时出错,未指定“type”字段。

httpTransport = GoogleNetHttpTransport.newTrustedTransport(); GoogleCredential credential = GoogleCredential.getApplicationDefault();

我想知道如何在eclipse中设置变量GOOGLE_APPLICATION_CREDENTIALS?

3 个答案:

答案 0 :(得分:5)

您收到错误是因为您下载了OAuth 2.0客户端ID而不是Service Account密钥。

如果要将常规用户凭据用作应用程序默认值,现在可以使用gcloud beta auth application-default login命令启动Web登录流程。这会将它们放在众所周知的应用程序默认凭据位置,因此如果您使用此方法,则应取消设置GOOGLE_APPLICATION_CREDENTIALS变量。

答案 1 :(得分:2)

如果您使用的是tomcat(虽然这在任何情况下都有效),您必须搜索“启动配置”,在“环境”选项卡中可以添加变量及其值。 在图像中,您可以看到我从tomcat概述中访问了“启动配置”。

另一个选择是使用GoogleCredentials.fromStream(“path_to_json”)来设置凭据,具体取决于使用哪个api。

launch configuration from tomcat overview

答案 2 :(得分:0)

通过阅读documentation,这个问题是令人满意的。截至2016年3月15日:

  

检查环境变量GOOGLE_APPLICATION_CREDENTIALS。如果   指定此变量应指向定义该文件的文件   凭证。

该文档详细介绍了如何创建此类文件。

至于如何在eclipse中设置它,它是一个环境变量,你应该搜索Eclipse文档,看看如何为你想要运行的任务设置环境变量。