【问题标题】:How to set GOOGLE_APPLICATION_CREDENTIALS for Google Compute Engine?如何为 Google Compute Engine 设置 GOOGLE_APPLICATION_CREDENTIALS?
【发布时间】:2016-02-25 14:09:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: java eclipse google-compute-engine


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        阅读documentation可以解决这个问题。截至 2016 年 3 月 15 日:

        已检查环境变量 GOOGLE_APPLICATION_CREDENTIALS。如果 这个变量被指定它应该指向一个文件,该文件定义了 凭据。

        该文档详细说明了如何创建此类文件。

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

        【讨论】:

        • 这没有回答问题。我收到此错误,并将变量设置为指向我从谷歌云 API 管理器屏幕下载的凭据文件(即console.cloud.google.com/apis/…)。从这个来源获得的文件,只是不包含“类型”属性。
        猜你喜欢
        • 1970-01-01
        • 2020-09-23
        • 2014-09-06
        • 2015-01-01
        • 1970-01-01
        • 2020-08-28
        • 1970-01-01
        • 2015-11-15
        • 2018-01-05
        相关资源
        最近更新 更多