我正在使用 Google API(Gemini provision)并获取 DefaultCredentialsError

问题描述 投票:0回答:1

DefaultCredentialsError:找不到您的默认凭据。要设置应用程序默认凭据,请参阅 https://cloud.google.com/docs/authentication/external/set-up-adc 了解更多信息。 追溯: 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py”,第 534 行,在 _run_script 中 exec(代码,模块。dict) 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py”,第 63 行,位于 响应=get_gemini_response(输入提示,图像数据,输入) 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py”,第 16 行,位于 get_gemini_response 响应=model.generate_content([输入,图像[0],提示]) 文件“/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 返回_client_manager.get_default_client(“生成”) 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py”,第 161 行,在 get_default_client 中 客户端 = self.make_client(名称) 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py”,第 121 行,在 make_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 = 运输( 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/grpc.py”,第 150 行,位于 init 超级()。init( 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/base.py”,第 98 行,位于 init 凭据,_ = google.auth.default( 文件“/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/auth/_default.py”,第 691 行,默认 引发异常。DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)

我想在没有默认凭据的情况下使用 google API 或任何其他直接使用 API 的方式?

google-api google-gemini
1个回答
0
投票

问题

正如错误所示,您尚未设置应用程序默认凭据(即 ADC)。

3种方式可以设置ADC

  1. GOOGLE_APPLICATION_CREDENTIALS
    环境变量
  2. 使用 Google Cloud CLI 设置用户凭据
  3. 附加的服务帐户,由元数据服务器返回

解决方案

我将解释如何使用

GOOGLE_APPLICATION_CREDENTIALS
环境变量设置 ADC。

第 1 步:点击 CREATE SERVICE ACCOUNT 为您的 Google Cloud 项目创建服务帐号

第 2 步:创建服务后单击该服务,然后转到 KEYS 选项卡

第 3 步:单击 ADD KEY 并创建一个新密钥

第 4 步:选择 JSON 并单击 CREATE

第 5 步:转到您的 Downloads 文件夹,您应该在那里看到密钥(即 JSON 文件)

第 6 步:将密钥(即 JSON 文件)设置为环境变量,因为密钥应自动从浏览器下载

Variable name: GOOGLE_APPLICATION_CREDENTIALS
Variable value: C:\Users\PATH\TO\YOUR\KEY\xxxxxxxxxxxxxxxxx.json

将密钥设置为环境变量后不要忘记重新启动计算机!

现在,ADC 将搜索

GOOGLE_APPLICATION_CREDENTIALS
环境变量并查看 JSON 文件以查看是否允许我们访问资源。

© www.soinside.com 2019 - 2024. All rights reserved.