GOOGLE_APPLICATION_CREDENTIALS错误

JSn*_*now 8 google-cloud-platform google-speech-api google-cloud-sdk

我正在尝试使用谷歌语音API将音频文件转换为文本,但面临文档的一些问题.我已启用语音API并创建了服务帐户文件.我还激活了服务帐户凭据.然后我编写了以下命令来使用我的服务帐户检索授权令牌.

gcloud auth application-default print-access-token

但它正在回复此消息 在此输入图像描述

我不明白为什么会这样,因为我已经在我的计算引擎中创建了一个VM实例.任何人都可以解释我在哪里出错吗?此外,有没有其他方法来验证我的帐户并调用谷歌语音API?

che*_*rba 20

gcloud凭据和应用程序默认凭据是单独管理的.如果激活了服务帐户密钥文件,则只能用于gcloud命令,但不能用于应用程序默认凭据.

gcloud auth application-default一组命令只用于管理应用程序默认值,与命令无关gcloud auth.

有几种方法可以"激活"应用程序默认凭据:

  • 使用您的用户帐户
    • gcloud auth application-default login,或
  • 使用服务帐户(首选)

    • 设置环境变量 GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json
    • 复制path/to/your/service_accont_key_file.json到〜/ .config/gcloud/application_default_credentials.json`

现在命令就好

gcloud auth application-default print-access-token
Run Code Online (Sandbox Code Playgroud)

应该管用.

  • 我尝试使用服务帐户key.json方法对我的本地主机进行身份验证,以与Google api服务进行通信。我下载了json,然后转到“窗口”的“环境路径”部分,并设置了GOOGLE_APPLICATION_CREDENTIALS,但仍然无法从本地访问google api。 (2认同)