String projName = settings.getProject(); String bucketName = settings.getBucket();
System.out.println("Creating bucket, projName: "+projName+", bucketName: "+bucketName) ;
try {
@SuppressWarnings("unused")
Bucket createdBucket = storage.buckets().insert(projName,
new Bucket().setName(bucketName).setLocation("US")
).execute();
} catch (GoogleJsonResponseException e) {
GoogleJsonError error = e.getDetails();
if (error.getCode() == HTTP_CONFLICT
&& error.getMessage().contains("You already own this bucket.")) {
System.out.println("already exists");
} else {
System.out.println("Exception in tryCreateBucket: "+e);
throw e;
}
}
输出:
创建存储桶,projName:round-center-551,bucketName:1904mybucketfoo
tryCreateBucket中的异常:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403禁止
{ “代码”:403, “错误”:[{ “域名”:“全球” “location”:“授权”, “locationType”:“标题”, “message”:“已禁用指定项目的帐户。”, “原因”:“accountDisabled” }], “message”:“已禁用指定项目的帐户。” } 已禁用指定项目的帐户。
我已确认Google云端存储和Google Cloud Datastore API服务已启用。 知道应该怎么做才能启用帐户吗?
答案 0 :(得分:5)
此错误可能意味着一些事情,但很可能只是意味着您尚未为项目启用结算。
Google云端存储要求启用结算以创建存储桶和对象,但此处的错误不是很具描述性。
您可以在云控制台(https://console.developers.google.com/project/apps~PROJECT_NAME/settings)
中的项目的“设置”页面上启用结算