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

Google Gemini API密钥无效问题求助:代码配置排查

解决Google Gemini API提示"API key not valid"的问题

以下是针对你遇到的API密钥无效错误的排查和解决步骤:

1. 检查环境变量加载规则(针对Vite等构建工具)

如果使用Vite作为构建工具,环境变量必须以VITE_为前缀才能被客户端代码读取:

  • 修改.env文件中的变量名:
    VITE_GEM_API_KEY=你的实际API密钥
    
  • 同步修改main.js中的引用:
    const genAI = new GoogleGenerativeAI(`${import.meta.env.VITE_GEM_API_KEY}`);
    

同时确认:

  • .env文件放在项目根目录,文件名是.env(不要添加dev/prod等后缀)
  • 变量值前后无多余空格,避免写成VITE_GEM_API_KEY= 你的密钥这类格式

2. 验证API密钥的权限与状态

登录Google Cloud控制台,找到你的API密钥:

  • 确认Generative Language API已启用(搜索该服务,确保状态为"已启用")
  • 检查密钥的限制设置:
    • 若设置了IP限制,确保本地开发IP在允许列表内
    • 若设置了API限制,确认已将Generative Language API添加到允许列表
    • 可暂时取消所有限制进行测试,排除限制规则导致的问题(测试完成后再重新配置)

3. 直接测试API密钥有效性

用curl命令直接调用API,验证密钥本身是否可用:

curl "https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key=你的API密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{ "text": "hi" }]
    }]
  }'

若请求返回正常响应,说明密钥有效,问题出在前端环境变量加载;若仍返回API_KEY_INVALID,需重新生成密钥并确保生成后立即使用(密钥生成可能存在几秒延迟)。

4. 代码逻辑优化

你的代码中存在冗余等待,可简化为:

import { GoogleGenerativeAI } from "@google/generative-ai";

const genAI = new GoogleGenerativeAI(`${import.meta.env.VITE_GEM_API_KEY}`);
const model = genAI.getGenerativeModel({ model: "gemini-pro" });

async function getResponse() {
    const result = await model.generateContent("hi");
    const text = result.response.text();
    console.log(text);
}

getResponse();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 08:32:07