403错误表明权限拒绝,需依次检查:一、项目是否启用Gemini API且计费活跃;二、服务账号是否具备roles/aiplatform.user角色;三、是否误用API密钥而未用OAuth令牌或服务账号JSON;四、端点URL区域与模型路径是否匹配;五、前端调用时Origin是否在凭据白名单中。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在 Gemini Notebook 中执行 API 调用时弹出 403 错误,说明请求已抵达 Google 服务器且身份可识别,但被明确拒绝授权——不是密钥填错了,也不是网络不通,而是权限链上某处断开了。
确认当前项目是否绑定并启用 Gemini API
打开 Google Cloud AI API 页面,确保右上角项目下拉框中显示的是你正在使用的项目(不是默认项目或历史项目)。
点击左侧菜单「API 和服务」→「库」,在搜索框输入 Generative Language API,检查状态是否为「已启用」。若显示「已停用」或「未启用」,点击进入后点击「启用」按钮。
⚠️ 注意:仅启用 Generative Language API 不够,还需同时启用 Vertex AI API(部分 Notebook 环境底层调用依赖此服务)。两者缺一不可,否则仍会返回 403。
验证服务账号权限是否满足最低要求
进入 IAM 页面,在成员列表中找到你的用户邮箱(或 Notebook 所用的服务账号,格式如 notebook-xxx@PROJECT_ID.iam.gserviceaccount.com)。
点击右侧铅笔图标编辑角色,确认已添加 roles/aiplatform.user 角色。该角色是调用 Gemini 模型的最小权限集,Editor 或 Owner 角色也可用,但不推荐直接赋予。
如果你使用的是个人 Google 账号登录 Notebook(而非服务账号),必须确保该账号本身被授予上述 IAM 角色,不能只给服务账号赋权。
使用AIsa生成图像与视频。仅需一个API密钥即可调用Gemini 3 Pro Image(图像)和Qwen Wan 2.6(视频)。
检查 Notebook 运行时认证方式是否匹配
方法一:使用 OAuth 凭据(推荐用于交互式 Notebook)
在 Notebook 单元格中运行:from google.colab import auth; auth.authenticate_user(),按提示完成浏览器授权流程。这会生成一个短期有效的 OAuth token,自动注入运行时环境。
方法二:使用服务账号 JSON(适用于长期部署或自动化任务)
上传服务账号密钥文件(.json)到 Notebook 工作区 → 执行 from google.oauth2 import service_account; credentials = service_account.Credentials.from_service_account_file('your-key.json') → 后续 API 调用显式传入 credentials 参数。
【关键区别】:Gemini API 不接受普通 API Key(即 AIzaSy... 开头的字符串)作为认证凭证。若你在代码中写了 headers={'X-Goog-Api-Key': '...'} 或类似逻辑,必须删除并改用上述任一 OAuth 方式。
排查项目级计费与配额状态
第一步:访问 结算页面,确认当前项目已关联有效账单账户,且状态为「活跃」。若显示「未配置结算账号」或「已暂停」,403 将持续出现。
第二步:进入 配额页面,筛选服务为「Generative Language API」,检查「GenerateContent Requests per minute per project」和「Tokens per minute per project」两项是否仍有余量。若显示「0/XXX」,说明配额已耗尽,需申请提升或等待重置周期。
第三步:在 Notebook 中运行以下诊断命令:!curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" https://generativelanguage.googleapis.com/v1beta/models
若返回 403 并含 "message": "Billing account not configured",说明计费未生效;若含 "message": "Project has not enabled the API",说明 API 未启用。

















