【问题标题】:How to unset/overwrite the GOOGLE_APPLICATION_CREDENTIALS environment variable in terminal?如何在终端中取消设置/覆盖 GOOGLE_APPLICATION_CREDENTIALS 环境变量?
【发布时间】:2017-07-27 11:12:36
【问题描述】:

我需要为我的应用程序使用“Google 语音 API”。为此,我安装了“谷歌云存储 SDK”。我跟着这个链接 “https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu”安装 gcloud。

然后我在终端上运行了这个命令“set GOOGLE_APPLICATION_CREDENTIALS /path/to/google-speech-API-key/key.json”来设置 GOOGLE_APPLICATION_CREDENTIALS。但是当我尝试测试时,我得到了这个异常 "Error reading credential file from environment variable GOOGLE_APPLICATION_CREDENTIALS, value '/path/to/google-speech-API-key': File does not exist"。我确定该目录存在并且它具有所有权限。

然后我运行这个命令"gcloud auth application-default login" 来实际设置默认键。我收到以下警告

"The environment variable [GOOGLE_APPLICATION_CREDENTIALS] is set to:
  [/path/to/google-speech-API-key]
Credentials will still be generated to the default location:
  [/path/to/.config/gcloud/key.json]
To use these credentials, unset this environment variable before
running your application."

那么,现在我该如何取消设置或覆盖 GOOGLE_APPLICATION_CREDENTIALS?

【问题讨论】:

    标签: gcloud google-cloud-speech


    【解决方案1】:

    所以如果你关注 Cloud Speech authentication documentation 他们建议这样做

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_KEY_FILE
    

    您可以通过在终端中运行以下命令来检查该值以及文件是否可读

    echo $GOOGLE_APPLICATION_CREDENTIALS
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

    请注意,GOOGLE_APPLICATION_CREDENTIALS 是一个环境变量,在您当前的 shell 会话中设置。如果您启动另一个终端会话(不是通过这个),则不会设置该环境变量。您也可以通过

    在此会话中取消设置
    export GOOGLE_APPLICATION_CREDENTIALS=
    

    也就是说您可能不应该使用通过

    获得的用户凭据
    gcloud auth application-default login
    

    因为它们与您的项目无关。而是使用从您的项目中获得的服务帐号密钥。

    【讨论】:

    • 搜索太多以得到这个答案:)
    【解决方案2】:

    UNIX:

    export GOOGLE_APPLICATION_CREDENTIALS=
    

    Windows

    set GOOGLE_APPLICATION_CREDENTIALS=
    

    更多关于docs page的信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2022-08-19
      • 2018-12-02
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多