← 返回 Blog

刚申请的 Gemini Key 为什么发请求就 403?90% 是因为这步漏了——启用 Generative Language API

刚申请到 Gemini API 密钥,满怀期待地用 curl 发起第一次请求,却被一条冰冷的错误信息挡在门外

GeminiGemini API 403 错误

Gemini API 403 错误完全排查指南:新手必过的第一道坎

刚申请到 Gemini API 密钥,满怀期待地用 curl 发起第一次请求,却被一条冰冷的错误信息挡在门外:

plaintext

403 PERMISSION_DENIED
"Method doesn't allow unregistered callers (callers without established identity)"

这几乎是每个初次接触 Google AI 平台的开发者都会撞上的 "第一道坎"。这条看似晦涩的错误信息,翻译过来其实非常直白:你的密钥本身是合法的身份凭证,但这个身份还没有被授权调用对应的 API。就像你手里有一把钥匙,但门锁背后的服务根本没有通电。

核心原因:密钥不等于权限,服务需要手动启用

要理解这个问题,必须先搞清楚 Google Cloud 平台 "身份与权限分离" 的核心设计逻辑:

  • 在 Google AI Studio 生成密钥,只是让 Google 在云端标记了 "这个密钥对应哪个账号和项目"(解决 "你是谁" 的身份问题)
  • 但系统不会自动帮你启用 Generative Language API 服务(解决 "你能干什么" 的权限问题)

打个通俗的比方:密钥就像是停车场的门禁卡,但停车场本身还没有通电。你必须先去 "物业"(Google Cloud Console)把电闸合上,也就是在 API 库中启用 Generative Language API,门禁卡才能真正刷开大门。没有这一步,再合法的密钥也无法调用服务。

这套逻辑并非 Gemini 独有的设计,而是所有 Google Cloud 服务的通用规则:先有身份凭证,再显式启用服务、分配权限。截至 2026 年,这一底层逻辑依然没有改变。

两分钟解决问题:按步骤操作,不要猜测

⚠️ 特别提醒:原文中曾出现拼写错误 "Genetive Language API",按照这个关键词搜索永远找不到对应的服务。正确的服务名称是Generative Language API。

步骤一:确认你在操作正确的项目

这是最容易被忽略但也最致命的一步。很多开发者在多个项目间切换,却在错误的项目中启用了服务,导致一直无法解决 403 问题。

  1. 打开 Google Cloud Console:https://console.cloud.google.com
  2. 点击左上角的项目选择器,确认当前项目就是你创建 API 密钥时绑定的那个项目
  3. 如果不匹配,切换到正确的项目后再继续后续操作

步骤二:在 API 库中启用服务

  1. 点击左侧菜单,进入「API 与服务→库」
  2. 在搜索框中输入:Generative Language API

    • 注意:不要搜索 "Gemini API",在这个界面中,服务的注册名称就是 Generative Language API,而非 Gemini

  3. 点击搜索结果进入服务详情页,点击「启用」按钮
  4. 等待几秒钟,状态从 "已停用" 变为 "已启用"
  5. 重新运行你的 curl 命令,此时应该就能正常获取响应了

步骤三(可选但重要):检查密钥的限制条件

在同一个项目的「API 与服务→凭据」页面,点击你的 API 密钥查看详情:

  • 确认 "API 限制" 中至少允许了 Generative Language API(生产环境建议显式限制到该 API,提升安全性)
  • 如果设置了 IP 白名单或 HTTP 引用者限制,确保你当前的出口 IP 在允许列表中,否则也会返回 403 错误

其他可能导致 403 的原因及排查

如果已经启用了 API,但 curl 仍然返回 403,请按照以下顺序逐一排查:

1. 密钥本身无效或被屏蔽

  • 前往https://aistudio.google.com/app/apikey确认密钥状态为 "Active"
  • 如果看到 "Your API key was reported as leaked" 的提示,说明该密钥已被 Google 主动屏蔽,只能删除旧密钥并重新生成

2. 地区限制

这是最容易被误判为 "密钥损坏" 的原因。Google 官方支持地区列表中不包含中国大陆和香港地区。如果你的当前出口 IP 归属地在未支持地区,即使密钥和 API 配置完全正确,请求也会被拒绝,表现形式通常就是 403 错误或路由不可达。

3. 注意区分 403 和 429

免费层确实有配额限制(Gemini 2.5 Flash 约为每分钟 10-15 次请求,每天约 250 次),但触限返回的错误码是:

plaintext

429 RESOURCE_EXHAUSTED

如果你看到的是 429 错误,说明密钥其实是有效的,只是请求频率或总量超过了限制。

官方文档的佐证

Google 官方排障页面对 403 PERMISSION_DENIED 错误有明确说明:"你的 API 密钥没有所需的权限,或你使用的 API 密钥不正确。请检查 API 密钥是否已设置且具有正确的访问权限。"

《Gemini API 密钥使用指南》也明确指出:每个密钥都关联一个 Google Cloud 项目,你可以在 Cloud Console 的凭据页面将密钥限制为仅允许调用 Generative Language API。

虽然 Google 的长期方向是让 Google AI Studio 和 Cloud Console 的授权流程更加融合,但在现阶段,手动去 Cloud Console 启用 API 这一步仍然无法省略。

403 错误最短排查路径

  1. 打开 Google Cloud Console,切换到密钥对应的项目
  2. 进入「API 与服务→库」,搜索 "Generative Language API" 并启用
  3. 进入凭据页面,点击你的密钥,确认 API 限制没有拦截generativelanguage.googleapis.com
  4. 确认当前出口 IP 在官方支持地区列表中
  5. 如仍有问题,前往aistudio.google.com/app/apikey查看密钥是否被标记为泄露或已撤销

结语

遇到 403 错误时,不要第一时间怀疑自己 "密钥没生成好"。绝大多数情况下,问题都出在 "生成了密钥但没有给密钥开通对应服务权限"。只需去 Google Cloud Console 点击一下启用按钮,两分钟后你就能收到正常的 JSON 响应,而非冰冷的错误提示。

对于需要稳定、高效使用全球主流 AI 大模型的开发者和企业来说,UseAIAPI提供了一站式的接入解决方案。平台聚合了 Gemini、Claude、ChatGPT、DeepSeek 等全球前沿 AI 大模型,提供稳定可靠的企业级定制化服务,无需复杂配置即可快速接入使用。平台推出了极具竞争力的优惠政策,全线服务最低可享官方定价 5 折,大幅降低了高强度开发和内容生产场景下的使用成本,让更多用户能够以更低的门槛享受到先进 AI 技术带来的效率提升。