我想在没有默认凭据的情况下使用 Google API。还有其他方法可以直接使用 API 吗?
错误:
DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.
Traceback:
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 534, in _run_script
exec(code, module.__dict__)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", line 63, in <module>
response=get_gemini_response(input_prompt,image_data,input)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/App.py", line 16, in get_gemini_response
response=model.generate_content([input,image[0],prompt])
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/generative_models.py", line 241, in generate_content
self._client = client.get_default_generative_client()
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 230, in get_default_generative_client
return _client_manager.get_default_client("generative")
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 161, in get_default_client
client = self.make_client(name)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/generativeai/client.py", line 121, in make_client
client = cls(**self.client_config)
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/client.py", line 433, in __init__
self._transport = Transport(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/grpc.py", line 150, in __init__
super().__init__(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/ai/generativelanguage_v1beta/services/generative_service/transports/base.py", line 98, in __init__
credentials, _ = google.auth.default(
File "/Users/pulkitrajput/PycharmProjects/InVoice-Extractor/venv/lib/python3.9/site-packages/google/auth/_default.py", line 691, in default
raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS)
正如错误所示,您尚未设置应用程序默认凭据(即 ADC)。
GOOGLE_APPLICATION_CREDENTIALS
环境变量我将解释如何使用
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 文件以查看是否允许我们访问资源。
此外,我还制作了一个关于如何使用 Vertex AI Gemini Pro API 的 YouTube 教程,其中我还介绍了设置 ADC 的步骤,并在我的 GitHub 个人资料上发布了 代码。