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

NextJS调用Cloudinary API出现unknown api_key报错求助

解决Cloudinary API返回"unknown api_key"的问题

问题分析

你遇到的unknown api_key错误,核心原因是环境变量加载异常,结合你的代码和.env.local配置,主要问题出在环境变量的格式上。

解决方案

1. 修正.env.local的变量格式

你的.env.local文件中,变量值被双引号包裹,这会导致环境变量实际包含引号字符(比如process.env.CLOUDINARY_API_KEY的值是"mykey"而非mykey),Cloudinary无法识别带引号的API密钥。

修改.env.local为:

CLOUDINARY_CLOUD_NAME=mycloudinary
CLOUDINARY_API_KEY=mykey
CLOUDINARY_API_SECRET=mysecret

2. 重启Next.js开发服务器

修改.env文件后,Next.js不会自动重新加载环境变量,必须重启开发服务器才能让新的配置生效。

3. 验证环境变量是否正确加载

在代码中添加日志,确认环境变量值是否正确:

export async function getStaticProps() {
    // 新增日志验证
    console.log('Loaded API Key:', process.env.CLOUDINARY_API_KEY);
    console.log('Loaded API Secret:', process.env.CLOUDINARY_API_SECRET);

    const results = await fetch(`https://api.cloudinary.com/v1_1/${process.env.CLOUDINARY_CLOUD_NAME}/resources/image`, {
        headers: {
            Authorization: `Basic ${Buffer.from(`${process.env.CLOUDINARY_API_KEY}:${process.env.CLOUDINARY_API_SECRET}`).toString('base64')}`
        }
    }).then(r => r.json());

    console.log('results', results);
    return {
        props: {}
    }
}

如果日志输出的是带引号的值,说明.env配置的问题还没解决;如果是正常的密钥值,再测试API请求。

4. 核对Cloudinary凭证

最后再确认一次Cloudinary控制台中的API密钥、密钥密码和云名称,确保和.env.local中的值完全一致(注意大小写、空格等细节)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:52:51