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

如何为Google JS客户端库的Discovery加载Beta端点添加API Key

解决Google Generative AI v1beta版本API Key认证失败问题

你的代码中getGenerativeModel的API版本配置方式错误,导致API Key未被正确传递到v1beta端点的请求中,引发认证失败。

修正方案

将apiVersion参数移到getGenerativeModel的第一个配置对象内,与model属性放在一起,确保客户端正确识别版本配置并携带API Key:

require('dotenv').config();

const { GoogleGenerativeAI } = require("@google/generative-ai");

const genAI = new GoogleGenerativeAI(process.env.API_KEY);

async function run() {
    // 正确配置模型与API版本
    const model = genAI.getGenerativeModel({ 
        model: process.env.TEXT_MODEL_NAME_LATEST,
        apiVersion: 'v1beta'
    });

    const prompt = "Write a story about a magic backpack.";

    const result = await model.generateContent(prompt);
    const response = await result.response;
    const text = response.text();
    console.log(text);
}

run();

可选全局配置方式

如果你希望所有请求都使用v1beta版本,也可以在初始化GoogleGenerativeAI时直接指定API版本,后续无需重复设置:

require('dotenv').config();

const { GoogleGenerativeAI } = require("@google/generative-ai");

// 全局配置API版本
const genAI = new GoogleGenerativeAI({
    apiKey: process.env.API_KEY,
    apiVersion: 'v1beta'
});

async function run() {
    const model = genAI.getGenerativeModel({ 
        model: process.env.TEXT_MODEL_NAME_LATEST
    });

    const prompt = "Write a story about a magic backpack.";

    const result = await model.generateContent(prompt);
    const response = await result.response;
    const text = response.text();
    console.log(text);
}

run();

原因说明

原代码中单独传递第二个参数{apiVersion: 'v1beta'}不符合库的参数规范,客户端未正确应用该版本配置,导致请求未携带API Key完成身份认证,触发"forbidden"错误。

内容的提问来源于stack exchange,提问作者Linda Lawton - DaImTo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:56:14