2017-07-27 106 views
0

我需要爲我的應用程序使用「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?

回答

0

所以,如果你遵循雲語音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 

獲得用戶憑據,因爲它們不依賴於你的項目在本次會議取消它。而是使用從您的項目中獲得的服務帳戶密鑰。

相關問題