【发布时间】:2015-09-08 00:47:05
【问题描述】:
我有一个应用引擎项目,我想访问我的谷歌云存储默认存储桶。获取 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
谢谢
【问题讨论】:
-
我知道这个问题已经很久没有提出来了,但是您可以尝试使用包含您的私钥数据的 JSON 文件的路径导出此参数以设置默认的谷歌云帐户,
export GOOGLE_APPLICATION_CREDENTIALS=/Users/googleCredentials.json
标签: google-app-engine google-cloud-storage