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

Google Gemini API集成现有项目遇403权限问题,如何规避ADC冲突?

解决Google Generative AI Python库与现有ADC凭证冲突的问题

问题原因

现有项目中配置的Application Default Credential(ADC)会被Google客户端库优先加载,导致即使调用genai.configure(api_key=...),实际请求仍使用ADC凭证,而ADC的权限范围不匹配Gemini API的要求,触发403 Request had insufficient authentication scopes错误。

解决方案

手动构建仅使用API Key的客户端,绕过ADC的自动检测逻辑,确保Gemini模块独立使用指定的API Key,不依赖现有项目的ADC配置。

代码实现

import google.generativeai as genai

# 方法1:通过configure直接指定API Key并强制使用REST传输(避免gRPC的ADC加载逻辑)
genai.configure(api_key=GOOGLE_GEMINI_API, transport="rest")

# 方法2:手动创建仅使用API Key的客户端并设置为默认(更明确)
client = genai.client.make_generative_service_client(
    client_options={"api_key": GOOGLE_GEMINI_API},
    credentials=None  # 禁用ADC自动获取
)
genai.client.set_default_client(client)

# 后续正常调用模型
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content('Hello there.')

原理说明

  • 传入credentials=None会强制客户端放弃自动查找ADC凭证,仅使用提供的API Key进行身份验证。
  • 指定transport="rest"可避免gRPC传输方式下的ADC自动加载逻辑,进一步确保API Key的优先级。

内容的提问来源于stack exchange,提问作者Win Myo Htet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:35:07