You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCloud Speech命令行认证失败:CURL请求返回无效凭证求助

Fixing "Invalid Authentication Credential" Error in GCloud Speech-to-Text CURL Request

Let's break down what's causing this authentication error and fix it step by step. The core issue here is how you're trying to capture the access token from gcloud in your Windows environment—your current command syntax isn't correctly grabbing a valid token.

1. First, Verify the Token Works on Its Own

Before troubleshooting the full CURL command, run this standalone to confirm gcloud is generating a valid access token:

"c:\Program Files (x86)\Google\Cloud SDK\gcloud" auth print-access-token

If this returns a long, random string (your access token), great—gcloud is functioning correctly. If it throws an error, double-check that your service account was activated properly with gcloud auth activate-service-account --key-file=[PATH].

2. Fix the CURL Command Syntax for Windows

Windows CMD and PowerShell handle subcommands differently than Linux/macOS. Here's how to adjust your command for each environment:

For Windows CMD

Use for /f to capture the token output and pass it to CURL:

for /f "delims=" %a in ('"c:\Program Files (x86)\Google\Cloud SDK\gcloud" auth print-access-token') do curl -H "Content-Type: application/json" -H "Authorization: Bearer %a" https://speech.googleapis.com/v1/speech:recognize -d @c:\testing\audiotest.json

Note: If running this in a batch (.bat) file, replace %a with %%a.

For Windows PowerShell

Use PowerShell's subexpression $() to embed the gcloud command directly:

$token = & "c:\Program Files (x86)\Google\Cloud SDK\gcloud" auth print-access-token
curl -H "Content-Type: application/json" -H "Authorization: Bearer $token" https://speech.googleapis.com/v1/speech:recognize -d @c:\testing\audiotest.json

Or as a single line:

curl -H "Content-Type: application/json" -H "Authorization: Bearer $(& "c:\Program Files (x86)\Google\Cloud SDK\gcloud" auth print-access-token)" https://speech.googleapis.com/v1/speech:recognize -d @c:\testing\audiotest.json

3. Additional Troubleshooting Steps

If you still get the authentication error after fixing the command:

  • Check Service Account Permissions: Ensure the activated service account has the necessary permissions for Cloud Speech-to-Text. The minimum required role is roles/speech.recognitionUser—you can assign this in the Google Cloud Console's IAM section for your project.
  • Remove --insecure: This disables SSL certificate validation, which is unsafe for production. Only use it for local testing, and remove it once things are working.
  • Validate Your JSON Payload: Make sure audiotest.json has the correct parameters (like encoding, sampleRateHertz) that match your audio file. While this won't cause an authentication error, it's good to rule out future issues.

内容的提问来源于stack exchange,提问作者Peter Caspari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:30:55