无法在Google Cloud上限制Generative Language API密钥
问题排查方案
Generative Language API(Gemini系列API)支持基于Android应用的API密钥限制(包名+SHA-1),你的调用被拦截大概率是配置细节出错,按以下步骤排查:
核对密钥限制配置
确保Google Cloud控制台中,你的API密钥限制类型选择的是「Android应用」,而非其他类型。同时:- 包名必须和AndroidManifest.xml里的
package字段完全一致,大小写、特殊字符都不能错 - SHA-1指纹要对应正确:调试环境用
./gradlew signingReport输出的debug版指纹,发布环境用正式签名密钥的指纹,别搞混两者
- 包名必须和AndroidManifest.xml里的
确认请求的合法性
- 不要通过第三方代理或中间服务器转发API请求,否则Google无法识别你的应用包名和SHA-1信息
- 如果使用官方Google AI Android SDK,确保SDK版本是最新的,旧版本可能存在密钥限制的兼容问题
查看具体错误日志
登录Google Cloud控制台,进入「API和服务」→「仪表板」→「错误」,查看具体错误提示:- 若提示
API_KEY_RESTRICTED或API_KEY_INVALID,直接指向限制配置与请求不匹配 - 其他错误需对应排查API启用状态、配额是否充足等问题
- 若提示
临时验证测试
暂时移除API密钥的所有限制,测试是否能正常调用API。如果可以,说明之前的限制配置存在错误;如果仍然失败,问题则不在密钥限制本身,需排查其他环节。
内容的提问来源于stack exchange,提问作者kaigalmane
相关产品推荐
相关产品推荐

