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

无需默认凭证调用Google API的方法及DefaultCredentialsError解决

不使用默认凭证调用Google APIs的替代方法

错误信息(翻译后)

DefaultCredentialsError: 未找到默认凭证。如需设置应用默认凭证,请查看相关文档获取更多信息。
Traceback:
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", 第534行, 在 _run_script中
    exec(code, module.__dict__)
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", 第63行, 在 <module>中
    response=get_gemini_response(input_prompt,image_data,input)
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", 第16行, 在 get_gemini_response中
    response=model.generate_content([input,image[0],prompt])
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/generative_models.py", 第241行, 在 generate_content中
    self._client = client.get_default_generative_client()
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", 第230行, 在 get_default_generative_client中
    return _client_manager.get_default_client("generative")
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", 第161行, 在 get_default_client中
    client = self.make_client(name)
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", 第121行, 在 make_client中
    client = cls(**self.client_config)
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/client.py", 第433行, 在 __init__中
    self._transport = Transport(
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/grpc.py", 第150行, 在 __init__中
    super().__init__(
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/base.py", 第98行, 在 __init__中
    credentials, _ = google.auth.default(
文件 "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/auth/_default.py", 第691行, 在 default中
    raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)

可用的替代认证方案

  • 直接使用API密钥:针对Gemini等生成式AI API,初始化时直接传入API密钥即可绕过默认凭证机制。示例代码:
import google.generativeai as genai

# 配置API密钥
genai.configure(api_key="你的API密钥")
# 初始化模型
model = genai.GenerativeModel('gemini-pro-vision')
# 正常调用生成内容接口
response = model.generate_content([input_content, image_data, prompt])
  • 加载服务账号密钥文件:如果持有服务账号的JSON密钥文件,可在代码中直接加载该凭证。示例代码:
import google.generativeai as genai
from google.oauth2 import service_account

# 从本地文件加载服务账号凭证
credentials = service_account.Credentials.from_service_account_file(
    "/path/to/your/service-account-key.json"
)
# 配置凭证
genai.configure(credentials=credentials)
model = genai.GenerativeModel('gemini-pro-vision')
  • 通过环境变量指定凭证:设置GOOGLE_APPLICATION_CREDENTIALS环境变量指向服务账号密钥文件路径,SDK会自动读取该凭证,无需修改代码。终端执行命令:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"

之后正常运行Python脚本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:18:11