如何在终端中取消设置/覆盖GOOGLE_APPLICATION_CREDENTIALS环境变量?
我需要为我的应用程序使用“Google语音API”。为此,我安装了“Google云端存储SDK”。我跟着这个链接 “https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu”安装gcloud。如何在终端中取消设置/覆盖GOOGLE_APPLICATION_CREDENTIALS环境变量?
然后我在终端上运行这个命令“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?
所以,如果你遵循云语音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
获得用户凭据,因为它们不依赖于你的项目在本次会议取消它。而是使用从您的项目中获得的服务帐户密钥。