请求具有无效的身份验证凭据。云语音 api 中的预期 OAuth 2 访问令牌错误

Posted

技术标签:

【中文标题】请求具有无效的身份验证凭据。云语音 api 中的预期 OAuth 2 访问令牌错误【英文标题】:Request had invalid authentication credentials. Expected OAuth 2 access token error in cloud speech api 【发布时间】:2018-07-21 01:52:48 【问题描述】:

我已经按照google cloud speech api quickstart 的使用来请求api了

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

并关注 link,但我收到了错误


  "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"
  

我现在该怎么办?

提前感谢

【问题讨论】:

【参考方案1】:

可能是应用程序默认凭据不可用

尝试通过运行登录

gcloud auth application-default login

并按照说明进行操作,参考:gcloud auth application-default login

如果您想确保身份验证过程顺利进行,请运行:

gcloud auth application-default print-access-token

您应该会看到一个访问令牌,参考 gcloud auth application-default print-access-token

【讨论】:

嗨,我已经实现了谷歌云视觉 api,并按照这个链接 cloud.google.com/vision/docs/how-to 直到 OCR。API 工作正常,但我也想实现云语音 api。可以返回 json 格式的实时音频流结果...但我是 GCP 的新手..恐怕..如果我设置云语音 api 那么它会影响以前的视觉 OCR 设置吗? 两个 API 使用同一个帐户应该不会影响。 基本上gcloud auth application-default login 所做的是获取凭据,以便在本地计算机中的应用程序配置为使用应用程序默认凭据时使用它们 OCR 设置使用什么包/语言? 您可以使用Vision API docs for Client Libraries 中说明的服务帐户。【参考方案2】:

我通过注销解决了这个问题,然后登录以同意谷歌自上次使用谷歌云(在我的例子中为 firebase)以来制定的一些新条款和条件。

【讨论】:

你的意思是控制台注销? 我在终端中使用 firebase 得到了错误代码。我通过终端从 firebase 注销:firebase logout 然后 firebase login【参考方案3】:

$(gcloud auth application-default print-access-token) 替换为调用命令时打印的内容。

【讨论】:

【参考方案4】:

您可能禁用了身份验证。所以

gcloud config set auth/disable_credentials false

【讨论】:

【参考方案5】:

Samir's 解决方案对我有用。

提醒一下,如果使用其他软件与 GCP 交互,您可能需要在授权生效之前重启软件

就我而言,在使用 RStudio 时,我运行 gcloud auth application-default login 进行身份验证,然后运行 ​​command + shift + f10 重新启动 R 会话,然后一切顺利。

某些包将具有刷新当前 R 会话中令牌的功能。例如 bigrquery 库有 bq_auth() 它将新令牌添加到 R 会话(无需重新启动会话等)

【讨论】:

【参考方案6】:

确保您的日期和时间正确,并且您的时区也正确。 我就是这样解决这个问题的

【讨论】:

【参考方案7】:

如果您自上次登录客户端后更改了分配给凭据的范围,请确保再次登录以更新客户端令牌。

【讨论】:

以上是关于请求具有无效的身份验证凭据。云语音 api 中的预期 OAuth 2 访问令牌错误的主要内容,如果未能解决你的问题,请参考以下文章

请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据 automl

FCM 推送 - 请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据

身份验证凭据丢失或无效的应用商店连接 api python

Symfony 5 / 使用 API 编写自定义身份验证总是返回我无效的凭据

Firebase 云功能,具有对外部 api 的基本身份验证的获取请求

在 MacOSX 上,当指定无效的身份验证凭据时,QNetworkAccessManager 进入无限循环