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

遵循Google Cloud Speech API快速入门后遇OAuth2令牌无效错误求助

解决Google Cloud Speech API身份验证凭据无效问题

嘿,我之前调试Speech API时也踩过这个坑,别着急,咱们一步步来搞定它:

  • 先确认服务账号密钥的环境变量设置正确
    首先你得确保已经在Google Cloud控制台创建了服务账号,并且下载了JSON格式的密钥文件。然后必须把GOOGLE_APPLICATION_CREDENTIALS环境变量指向这个文件的绝对路径:

    # Linux/macOS终端里这么设
    export GOOGLE_APPLICATION_CREDENTIALS="/Users/you/path/to/your-service-account-key.json"
    
    # Windows PowerShell里用这个
    $env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\you\path\to\your-service-account-key.json"
    

    划重点:设置完环境变量后,一定要重启你的代码运行环境(比如VS Code、终端窗口),不然新的变量不会生效。

  • 检查服务账号的权限是否足够
    去Google Cloud控制台的IAM页面,找到你的服务账号,看看它有没有被分配Cloud Speech-to-Text Editor或者Cloud Speech-to-Text Admin这类角色。如果没有,赶紧添加上——没有权限的话,哪怕密钥正确也会被拒绝。

  • 排查代码里的身份验证逻辑
    如果你不是用默认的环境变量方式,而是手动在代码里指定密钥文件,要仔细检查路径有没有写错。比如Python里的正确写法是:

    from google.cloud import speech_v1p1beta1 as speech
    
    # 这里一定要写对密钥文件的绝对路径,或者相对路径要和当前工作目录匹配
    client = speech.SpeechClient.from_service_account_json('/correct/path/to/key.json')
    
  • 如果手动用OAuth2令牌,要验证令牌有效性
    要是你是自己生成Bearer令牌来调用API,可以先用gcloud命令行生成一个测试令牌试试:

    gcloud auth application-default print-access-token
    

    把这个令牌放到请求头Authorization: Bearer <生成的令牌>里再调用API,如果还是报错,大概率是这个令牌没有Speech API的访问权限。

  • 最后别忘了确认API已经启用
    很多新手容易忽略这一步:去Google Cloud控制台的API库,搜索“Cloud Speech-to-Text API”,确认它已经被启用。没启用的话,所有请求都会被拦截。

按照上面的步骤排查下来,90%以上的情况都能解决这个身份验证错误。如果还是有问题,可以检查一下密钥文件有没有被误修改,或者路径里有没有拼写错误的大小写(Linux/macOS是区分大小写的)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:31:34