使用Python调用Google Speech API时API_KEY认证失败,是否已弃用该认证方式?
Google Speech-to-Text API 认证:API_KEY 是否已被弃用?
先给你明确结论:Google并没有完全弃用API_KEY作为Speech-to-Text API的认证方式,但它的使用有严格的场景限制,这大概率是你认证失败的核心原因。
关于API_KEY的使用限制
- 仅支持客户端侧请求(比如浏览器前端、移动APP),而且必须在Google Cloud控制台给API_KEY配置IP地址或HTTP referrer限制,防止密钥被恶意滥用。如果你的Python代码是在服务器端运行的,用API_KEY调用肯定会失败——这种场景下必须使用服务账号密钥(JSON格式)来认证。
- 即便是客户端使用,也要确保你在控制台完成了两个关键配置:一是已经启用了Speech-to-Text API,二是给API_KEY添加了允许的请求来源(比如你的APP包名、网页域名)。
服务器端Python调用的正确姿势
如果你的代码是在服务器上跑的,直接换成服务账号认证就行,给你个极简示例:
from google.cloud import speech_v1p1beta1 as speech # 初始化客户端,传入服务账号密钥文件路径 client = speech.SpeechClient.from_service_account_json('path/to/your-service-account-key.json') # 示例:识别云端存储的音频文件 audio = speech.RecognitionAudio(uri="gs://your-bucket/audio-file.wav") config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code="en-US", ) response = client.recognize(config=config, audio=audio)
快速排查步骤
- 登录Google Cloud控制台,确认Speech-to-Text API已经启用
- 检查你的API_KEY是否配置了正确的请求来源限制
- 确认你的请求场景:服务器端必须用服务账号,客户端才能考虑API_KEY
内容的提问来源于stack exchange,提问作者Aditay Tripathi
相关产品推荐
相关产品推荐

