如何在VSCode开发的Flutter应用中接入Gemini?API密钥报错求助
Flutter接入Gemini时“API不被接受”错误的解决步骤
1. 验证API密钥有效性
- 核对密钥完整性:确保复制的API密钥无多余空格、大小写错误或截断,Gemini密钥为随机字符串,需完全匹配Google AI Studio生成的内容。
- 检查密钥权限:登录Google AI Studio的API密钥管理页面,确认该密钥已关联Gemini系列API(如Gemini 1.0 Pro),未被禁用,且无IP访问限制(若有限制,需将开发环境IP加入允许列表)。
- 确认配额状态:查看密钥对应的Gemini API配额是否耗尽,免费配额有调用次数限制,超出后会触发权限类错误。
2. 检查Flutter依赖与配置
- 更新依赖包:确保使用的
google_generative_ai包为最新版本,执行flutter pub upgrade google_generative_ai升级,旧版本可能存在API兼容问题。 - 核对客户端初始化代码:确认API密钥传递正确,示例代码如下:
final model = GenerativeModel( model: 'gemini-1.0-pro', apiKey: '你的API密钥', // 无拼写错误、无多余字符 );
3. 验证API调用细节
- 确认模型名称正确:调用的模型需为密钥有权访问的类型,如
gemini-1.0-pro、gemini-1.5-flash,避免使用未授权或已废弃的模型ID。 - 手动请求测试(可选):用curl命令测试API连通性,替换为你的密钥:
若返回正常响应,说明密钥和网络无问题,问题出在Flutter代码实现。curl -H "Authorization: Bearer 你的API密钥" https://generativelanguage.googleapis.com/v1/models/gemini-1.0-pro:generateContent -d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
4. 排查网络环境
- 确认网络可访问Google API:部分地区需配置代理,测试能否正常访问
generativelanguage.googleapis.com,避免因网络拦截导致密钥验证失败。 - 检查VSCode代理设置:若VSCode启用了代理,需确保代理规则允许访问Google AI域名,或临时关闭代理测试。
5. 核对计费状态
- 若免费配额耗尽,需在Google Cloud控制台启用Gemini API的计费功能,确保账号无欠费、计费服务未被暂停。
内容的提问来源于stack exchange,提问作者Jonathan Baño
相关产品推荐
相关产品推荐

