GOOGLE_APPLICATION_CREDENTIALS错误

时间:2017-07-05 11:37:39

标签: google-cloud-platform google-speech-api google-cloud-sdk

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

gcloud auth application-default print-access-token

但它正在返回此消息 enter image description here

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

3 个答案:

答案 0 :(得分:18)

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`

      • 在Windows上,这可能会有所不同,请运行

        gcloud info --format="value(config.paths.global_config_dir)"
        

        获取配置目录的路径。

现在命令如

gcloud auth application-default print-access-token

应该有用。

答案 1 :(得分:2)

作为一种解决方案,您可以下载GCLOUD控制台,然后在控制台“gcloud auth application-default”上使用具有项目访问权限的gmail帐户运行此命令,然后您将获得已启用的google api访问权限。< / p>

答案 2 :(得分:0)

您可以使用以下命令在gcloud上生成密钥json文件: gcloud auth应用程序-默认登录

google将显示一个链接以确认,一旦完成,将在temp文件夹中显示json文件

enter image description here