我有Google Compute Engine的凭据文件,重命名为key.json。下一步是使用名称GOOGLE_APPLICATION_CREDENTIALS设置环境变量。但它表示错误:从环境变量GOOGLE_APPLICATION_CREDENTIALS ... path读取凭据文件时出错。从流中读取凭据时出错,未指定“type”字段。
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = GoogleCredential.getApplicationDefault();
我想知道如何在eclipse中设置变量GOOGLE_APPLICATION_CREDENTIALS?
答案 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。
答案 2 :(得分:0)
通过阅读documentation,这个问题是令人满意的。截至2016年3月15日:
检查环境变量GOOGLE_APPLICATION_CREDENTIALS。如果 指定此变量应指向定义该文件的文件 凭证。
该文档详细介绍了如何创建此类文件。
至于如何在eclipse中设置它,它是一个环境变量,你应该搜索Eclipse文档,看看如何为你想要运行的任务设置环境变量。