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

部署Genkit Cloud Function后API Key无效问题求助

排查API Key无效问题的解决方案

1. 正确引用Secret参数

你代码里仅用defineSecret("GOOGLE_GENAI_API_KEY")定义了密钥,但未将其传入googleAI插件配置。需先将定义的secret赋值给变量,再传递给插件:

import { defineSecret } from "firebase-functions/params";
const GOOGLE_GENAI_API_KEY = defineSecret("GOOGLE_GENAI_API_KEY");

configureGenkit({
  plugins: [
    firebase(), 
    googleAI({ 
      apiVersion: "v1beta",
      apiKey: GOOGLE_GENAI_API_KEY // 传入密钥参数
    })
  ],
  logLevel: "debug",
  enableTracingAndMetrics: true,
});

2. 部署时关联Secret到Cloud Function

仅在本地.env或Secret Manager存储密钥不够,需部署时明确绑定到目标函数:

  • 使用Firebase CLI部署,添加参数指定密钥:
    firebase deploy --only functions:identifyItemFromUrl --param GOOGLE_GENAI_API_KEY=projects/[你的GCP项目ID]/secrets/[你的Secret名称]/versions/latest
    
    替换括号内的实际项目ID和Secret名称。
  • 或在GCP控制台操作:
    • 进入Cloud Functions页面,找到identifyItemFromUrl函数
    • 点击"编辑",进入"运行时、构建和连接设置"
    • 在"运行时变量"区域,添加GOOGLE_GENAI_API_KEY,值选择Secret Manager中的对应密钥

3. 验证API Key本身有效性

  • 确认API Key是在Google AI Studio生成,且已启用Generative Language API:
    1. 进入Google Cloud控制台API库,搜索"Generative Language API"
    2. 确保API已启用,且API Key未被限制IP或使用范围
  • 用curl直接测试API Key:
    curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?key=你的API Key" \
    -H "Content-Type: application/json" \
    -d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
    
    返回正常内容则API Key有效;仍报错则检查Key是否正确,或是否有配额限制。

4. 本地测试的.env配置(仅本地模拟器用)

若用firebase emulators:start本地测试,需在functions文件夹的.env文件中正确配置:

GOOGLE_GENAI_API_KEY=你的实际API Key

同时确保firebase-functions和firebase-admin为最新版本,避免兼容问题。


内容的提问来源于stack exchange,提问作者Code on the Rocks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:27:19