【发布时间】:2020-12-24 21:17:23
【问题描述】:
我正在处理一个需要访问 Gcloud 服务帐户的项目。但是,我一直遇到身份验证问题。这是我的命令提示符下的以下错误:
我的命令:
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"
}
}
目前,我做了以下事情:我设置了我的环境变量“GOOGLE_APPLICATION_CREDENTIALS”来保存我的服务帐户的 JSON 密钥文件的路径,我在密钥文件所在的目录中打开了我的 cmd,我运行了命令。我还有什么遗漏的吗?
我关注的文档来自https://cloud.google.com/docs/authentication/production#windows
【问题讨论】:
-
我不想看到您的授权令牌,但是当您检查它时,它看起来对吗?我知道您必须设置标头,但承载部分似乎您应该是身份验证机制本身的一部分。当它谈到 auth application-defautl 时,它说“这些凭据仅由 Google 客户端库在您自己的应用程序中使用。”这对我来说并不乐观。从未使用过 glocud,所以我可能完全错了。
-
您可以尝试创建new service account 并下载JSON key file 以获得新的凭据,并尝试按照说明在Windows 中设置路径。
标签: gcloud speech-to-text google-speech-to-text-api