gpt4 book ai didi

google-app-engine - App Engine 项目访问谷歌云存储的默认凭据?

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:47 25 4
gpt4 key购买 nike

我有一个应用引擎项目,我想访问我的谷歌云存储默认存储桶。获取 Credential 对象的第一步失败,在事件实例上执行以下操作:

Credential creds = GoogleCredential.getApplicationDefault();

我得到的异常消息:

“应用程序默认凭证不可用。如果在 Google Compute Engine 中运行,则它们可用。否则,环境变量 GOOGLE_APPLICATION_CREDENTIALS 必须定义为指向定义凭证的文件。有关详细信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials。”

这里的文档说生产应用引擎项目应该有权访问默认凭据?:

https://developers.google.com/identity/protocols/application-default-credentials

“3. 如果您在 Google App Engine 生产环境中运行,将使用与该应用程序关联的内置服务帐户。”

我是否缺少某些设置?

我的应用引擎版本(gradle):

com.google.appengine:appengine-java-sdk:1.9.18

和谷歌云存储库版本:

com.google.apis:google-api-services-storage:v1-rev35-1.20.0

谢谢

最佳答案

转到 Google Developers Console -> Credentials 并创建默认服务帐户 .json key 。当您这样做时,它会为您下载一个类似 default-account-credentials.json 的文件。然后,您必须将该文件放在您的应用程序引擎项目中的某个位置。调用时将引用此文件

凭据 creds = GoogleCredential.getApplicationDefault();

但是,在此之前,您必须将环境变量设置为该文件位置。为此,请打开您的 appengine-web.xml 文件并将此行放入其中:

<env-variables>
<env-var name="GOOGLE_APPLICATION_CREDENTIALS"
value="WEB-INF/default-account-credentials.json" />
</env-variables>

value 是您刚下载的 .json creds 文件的路径。

现在它可以工作了。 (您的 gradle 导入没问题)

关于google-app-engine - App Engine 项目访问谷歌云存储的默认凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30982121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com