← 返回 Blog

Gemini API 调用报 403 / 429?先别换号——逐一排查:Key 无效·项目未启用·RPM 超限·账号地区四宗罪

当你拿着刚生成的 AIzaSy 开头的 API 密钥,兴冲冲地用 curl 发起第一次请求时,却被冷冰冰的 403 或 429 错误码挡在门外,这是很多开发者初次接触 Gemini API 时都会遇到的问题。

GeminiGemini API 常见错误排查

Gemini API 常见错误排查指南:403 与 429 状态码完全解析

当你拿着刚生成的 AIzaSy 开头的 API 密钥,兴冲冲地用 curl 发起第一次请求时,却被冷冰冰的 403 或 429 错误码挡在门外,这是很多开发者初次接触 Gemini API 时都会遇到的问题。

别急着怀疑自己的操作。这两个 HTTP 状态码恰恰是 Google AI 平台留给开发者最直白的提示 —— 它们虽然没有多余的寒暄,但指向的问题非常明确。按照下面的分类逐一排查,往往比盲目重试要高效得多。

一、密钥身份合法性问题:403 权限被拒

无论是从 Google AI Studio 直接获取的密钥,还是在 Google Cloud Platform(GCP)项目中生成的 API 密钥,第一步都需要确认它的身份合法性和调用权限。

典型症状

密钥字符串复制完全正确,但调用时返回以下错误:

plaintext

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

或官方文档中对应的权限拒绝错误:

plaintext

403 PERMISSION_DENIED: Your API key has no required permissions / the key was recognized but access was denied at the authorization layer.

根本原因

你虽然拥有了 "门禁卡"(密钥),但项目对应的 "大门" 并没有打开 —— 该项目的 Generative Language API 服务尚未启用。因此,即便密钥字符串本身是正确的,请求也会被授权层拒绝。

这里有一个非常容易踩坑的细节:在 Google Cloud Console 中,Gemini 开发者 API 的服务名称是Generative Language API,而不是 "Gemini API"。搜索错误的名称会导致找不到对应的服务。

官方标准解法

  1. 打开 Google Cloud Console:https://console.cloud.google.com
  2. 确认左上角显示的当前项目,就是你创建或绑定该密钥的项目
  3. 点击左侧菜单,进入「API 与服务→库」
  4. 在搜索框中输入 "Generative Language API" 并搜索
  5. 进入服务详情页,点击「启用」按钮
  6. 等待 2-5 分钟让配置生效,然后重试请求

三个隐蔽的常见坑

表格

坑点现象检查方式
复制时带入多余空格或换行密钥形式上正确但一律返回 400/403将密钥粘贴到纯文本编辑器,确认首尾无空白字符
密钥的 API 限制拦截了请求密钥有效但返回 403进入「API 与服务→凭据」,点击该密钥查看详情,确认 API 限制中允许了 Generative Language API
密钥被标记为泄露提示 "Your API key was reported as leaked"前往 Google AI Studio 的 API 密钥页面查看状态,这种情况只能删除旧密钥并重新生成

二、API 未启用:有卡但未开通服务

这一问题与第一类本质相同,但因其极高的出现频率值得单独列出。很多开发者以为在 Google Cloud Console 中生成了密钥就万事大吉,却忽略了最关键的一步:启用对应的 API 服务。

Google 不会因为你创建了密钥就自动帮你启用 Generative Language API,这是官方故障排查文档中明确列出的 403 错误首要排查方向。

解法与上文完全一致:进入 Google Cloud Console 的「API 与服务→库」,搜索并启用 Generative Language API。

三、速率限制超限:429 资源耗尽

这是最容易让人感到 "冤枉" 的一种错误 —— 代码没有任何问题,只是请求的速度太快或数量太多。

429 错误的官方含义是:

plaintext

429 RESOURCE_EXHAUSTED — 您已超出速率限制

Gemini API 的速率限制是三维同时生效的,任一维度超限都会触发 429 错误:

表格

维度全称含义
RPMRequests Per Minute每分钟请求数
TPMTokens Per Minute每分钟 Token 消耗量(输入 + 输出)
RPDRequests Per Day每日总请求数(太平洋时间午夜重置)

需要特别注意:所有限制都是按项目计算的,不是按密钥计算的。同一个项目下创建十个密钥,也不会叠加额度。

免费层大致配额(2026 年最新)

表格

模型RPM(每分钟请求)TPM(每分钟 Token)RPD(每日请求)
gemini-2.5-flash10-15250,000250-500
gemini-2.5-flash-lite15250,0001000
gemini-2.5-pro5250,000100

429 错误的常见触发场景

  1. 常规超速:脚本循环中无间隔地发送请求,一秒钟发起十几次请求,直接触发 RPM 限制
  2. Token 暗耗:以为只发了几次请求不会超限,但每次请求都携带了长上下文或长文档,导致 TPM 提前耗尽
  3. 日额度用尽:RPD 达到每日上限后,即使当前分钟没有超速,也会继续返回 429,直到太平洋时间午夜重置

解决方案(从低成本到高成本)

  • 在脚本层添加请求间隔,例如使用time.sleep(5)设置保守的间距
  • 实现指数退避机制:捕获 429 错误,读取响应头中的重试提示,等待适当时间后再重发
  • 定期截断上下文:多轮对话中不要让历史记录无限膨胀,及时清理无用的对话内容
  • 升级付费方案:前往 Google AI Studio 或 Cloud Console 启用结算功能,升级到 Tier 1 后,RPM 可提升至约 1000,RPD 可提升至约 10000 量级

四、地域限制:看不见的准入门槛

这是最让人感到莫名其妙的一种 403 错误:密钥是对的,API 也启用了,但无论如何调用都返回 403。

根本原因

Google AI Studio 和generativelanguage.googleapis.com有明确的支持地区列表,中国大陆和香港地区不在支持范围内。API 请求会在入口层直接被拒绝,根本不会进入权限判断环节。

典型表现

  • 浏览器访问aistudio.google.com时,显示 "Gemini isn't supported in your region"
  • 直接调用 API 时返回 403 错误,没有其他具体说明

合规说明

Google 的风控机制不仅检查出口 IP,还会关联账号地区记录、Cookie 与历史登录环境的一致性。如果你身处不支持的地区,官方合规的解决方案是使用支持地区的合法环境与账号,或选择合规的云服务替代方案。

5 分钟快速排查清单

按照以下顺序逐一检查,绝大多数 403 和 429 错误都能快速定位:

  • 密钥复制是否完整?首尾是否有多余的空格或换行?
  • 对应项目中的 Generative Language API 是否已启用?
  • 密钥的 API 限制是否允许了 Generative Language API?
  • 是否返回 429 错误?如果是,尝试降低请求频率、清理上下文或等待额度重置
  • 是否使用了中国大陆或香港地区的 IP 直接访问 API?
  • 密钥状态是否被标记为泄露?如果是,删除旧密钥并重新生成

结语

在 AI 开发过程中,排查问题的时间成本往往远大于编写代码的时间成本。与其盲目猜测 "是不是密钥坏了",不如读懂每个错误码背后的真正含义:403 说的是 "你有没有资格进门",429 说的是 "你进来了但拿得太多了",两者的解决方案完全不同。

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