我正在尝试使用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!
我的凭据有什么问题?
答案 0 :(得分:0)
该错误消息表明您的操作系统找不到您的凭据,官方文档中提到了如何设置环境变量GOOGLE_APPLICATION_CREDENTIALS。
我也建议避免在包含KEYFILE.json的路径中出现空格,如注释中所述。让我知道它是如何工作的。
答案 1 :(得分:0)
我终于明白了,您不应在GOOGLE_APPLICATION_CREDENTIALS的[PATH] / [FILENAME]周围加上引号。 即
SET GOOGLE_APPLICATION_CREDENTIALS=C:\home\myfile.json
我希望这对某人有帮助。