我正在尝试使用google speech API将音频文件转换为文本,但在文档中遇到一些问题。我已经启用了speech API并创建了一个服务帐户文件。我还激活了服务帐户凭据。然后,我编写了以下命令来使用我的服务帐户检索授权令牌。
gcloud auth application-default print-access-token
但是它返回了这条消息

我不明白为什么会发生这种情况,因为我的计算引擎中已经创建了一个VM实例。有人能解释一下我哪里出错了吗?另外,有没有其他方法可以验证我的帐户并调用google speech API?
发布于 2017-07-06 18:46:31
gcloud凭据和应用程序默认凭据分别进行管理。如果您激活了服务帐户密钥文件,则这只能用于gcloud命令,而不能用于应用程序默认凭据。
gcloud auth application-default命令集仅用于管理应用程序默认设置,与gcloud auth中的命令无关。
有几种方法可以“激活”应用程序默认凭据:
or,
gcloud auth application-default login
- set environment variable `GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json`
- copy `path/to/your/service_accont_key_file.json` to ~/.config/gcloud/application\_default\_credentials.json` - On windows this might be different, run gcloud信息--format="value(config.paths.global_config_dir)“
获取config目录的路径。
现在命令如下
gcloud auth application-default print-access-token应该行得通。
发布于 2017-09-19 19:44:54
作为一种解决方案,您可以下载GCLOUD控制台,然后在控制台"gcloud auth application-default“上运行此命令,使用具有项目访问权限的gmail帐户登录,然后您将获得google api的访问权限。
发布于 2019-10-29 20:38:04
您可以使用以下命令在gcloud上生成密钥json文件: gcloud auth application-default login
google会显示一个链接来确认,一旦你这样做了,就会在临时文件夹中显示json文件

https://stackoverflow.com/questions/44925170
复制相似问题