Authentication 错误:(gcloud.auth.activate服务帐户)无法激活给定的服务帐户。请确保提供的密钥文件有效

Authentication 错误:(gcloud.auth.activate服务帐户)无法激活给定的服务帐户。请确保提供的密钥文件有效,authentication,gcloud,google-speech-api,Authentication,Gcloud,Google Speech Api,我试图按照这个指南通过curl调用GAE speech-to-text api。但它似乎不起作用 我已经设置了一个项目并启用了语音到文本api。但当我尝试激活服务帐户时,它失败了。我已经运行了诊断,尝试了不同的帐户,验证了json文件(有电子邮件),尝试了gcloud beta init:-( bash-3.2$gcloud身份验证激活服务帐户account@project.iam.gserviceaccount.com--key file=project.json 错误:(gcloud.aut

我试图按照这个指南通过curl调用GAE speech-to-text api。但它似乎不起作用

我已经设置了一个项目并启用了语音到文本api。但当我尝试激活服务帐户时,它失败了。我已经运行了诊断,尝试了不同的帐户,验证了json文件(有电子邮件),尝试了gcloud beta init:-(

bash-3.2$gcloud身份验证激活服务帐户account@project.iam.gserviceaccount.com--key file=project.json 错误:(gcloud.auth.activate服务帐户)无法激活给定的服务帐户。请确保提供的密钥文件有效

下一步通过“gcloud auth print access token”返回一个令牌

但是最后一步(curl)返回这个结果-

{ “错误”:{ “代码”:403, “消息”:“Google.com:cloudsdktool项目之前未使用Google云语音API,或者该API已被禁用。请通过访问启用该API,然后重试。如果您最近启用了此API,请等待几分钟,以便将该操作传播到我们的系统,然后重试。”, “状态”:“权限被拒绝”, “详情”:[ { “@type”:“type.googleapis.com/google.rpc.Help”, “链接”:[ { “说明”:“谷歌开发者控制台API激活”, “url”:” } ] } ] } }

问题似乎在于用于验证传入请求的项目(google.com:cloudsdktool,而不是我的)


我猜是调用激活服务帐户导致了这种情况?

您收到了
google.com:cloudsdktool
项目的错误消息,因为您使用curl
gcloud auth print access token运行的命令使用的是您的用户帐户凭据(由
gcloud auth login
创建),而不是服务帐户(正如您指出的,这一步对您来说是失败的)

正确(顺便说一句,您不需要提供帐户,因为将使用文件中的帐户)

确保您的
project.json
文件格式正确。您可以在

  • gcloud iam服务帐户密钥创建
    ,请参阅
  • 该文件看起来像

    {
      "private_key_id": "....",
      "private_key": "-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\n",
      "client_email": "...",
      "client_id": "...",
      "type": "service_account"
    }
    

    请注意,
    client\u email
    将用于
    activate service ACCOUNT
    命令中的帐户。

    您将收到
    google.com:cloudsdktool
    项目的错误消息,因为您使用curl
    gcloud auth print access token运行的命令使用了您的用户帐户凭据(由
    gcloud auth login
    创建)而不是服务帐户(正如您指出的,该步骤失败了)

    正确(顺便说一句,您不需要提供帐户,因为将使用文件中的帐户)

    确保您的
    project.json
    文件格式正确。您可以在

  • gcloud iam服务帐户密钥创建
    ,请参阅
  • 该文件看起来像

    {
      "private_key_id": "....",
      "private_key": "-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\n",
      "client_email": "...",
      "client_id": "...",
      "type": "service_account"
    }
    
    请注意,
    client\u email
    将用于
    activate service ACCOUNT
    命令中的帐户。

    在此处提交错误?在此处提交错误?