Google Cloud问题中的API语音转文本凭证

时间:2020-02-15 16:51:22

标签: google-cloud-platform

我正在尝试使用API​​ Speech在Google Cloud中发短信。我尝试根据文档中的说明给出命令。我已将GOOGLE_APPLICATION_CREDENTIALS的值指定为 “ D:\ certs \ My First Project.json”命令是:

requests>curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 
"$(gcloud auth application-default print-access-token) 
https://speech.googleapis.com/v1/speech:recognize -d @sync-request.json   

这将导致:

requests>curl -s -H "Content-Type: application/json" -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) https://speech.googleapis.com/v1/speech:recognize -d @sync-request.json
{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

然后我自己尝试了命令cloud auth:

requests>gcloud auth application-default print-access-token 

导致:

ERROR: (gcloud.auth.application-default.print-access-token) File "D:\certs\My First Project.json" (pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!

我的凭据有什么问题?

2 个答案:

答案 0 :(得分:0)

该错误消息表明您的操作系统找不到您的凭据,官方文档中提到了如何设置环境变量GOOGLE_APPLICATION_CREDENTIALS

我也建议避免在包含KEYFILE.json的路径中出现空格,如注释中所述。让我知道它是如何工作的。

答案 1 :(得分:0)

我终于明白了,您不应在GOOGLE_APPLICATION_CREDENTIALS的[PATH] / [FILENAME]周围加上引号。 即

SET GOOGLE_APPLICATION_CREDENTIALS=C:\home\myfile.json

我希望这对某人有帮助。