【发布时间】:2016-01-27 11:34:41
【问题描述】:
我正在尝试使用来自 App Engine 项目的 JAVA Api 创建一个 GCS 存储桶。
我收到以下错误,没有太多详细信息。
403 禁止 { “代码”:403, “错误”:[{ “域”:“全球”, “消息”:“禁止”, “原因”:“禁止” }], “消息”:“禁止” }
根据网上的阅读,我已经检查了以下内容
启用结算 - 完成.. 启用 GoogleCloudStorage API - 完成 ..
尽管做了这些,我还是看到了错误。
这就是我创建存储对象的方式 ---
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JSON_FACTORY = JacksonFactory.getDefaultInstance();
credential = GoogleCredential.getApplicationDefault();
//Add Scopes
List<String> colls = new ArrayList<String>();
colls.addAll(StorageScopes.all());
if (credential.createScopedRequired()) {
credential = credential.createScoped(colls);
}
//Build storage
storage = new Storage.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName("projectName").build();
Bucket newBucket = storage.buckets().insert("projectName", new Bucket()
.setName(bktName).setLocation("US")).execute();
用于在不同项目中工作的相同代码。 但是,我无法在我创建的新项目上创建带有 403 错误的存储桶..
希望尽快听到你们的消息!!!
谢谢,
斯里坎特
【问题讨论】:
-
也尝试了 AppIdentityCredential.. 仍然没有运气 AppIdentityCredential credential = new AppIdentityCredential(Arrays.asList("googleapis.com/auth/devstorage.read_write"));
-
您是否尝试过在云控制台中手动输入 projectName 以查看它是否可用?请记住存储桶名称是全球唯一的。
-
是的,我已经尝试通过在管理控制台中输入这些存储桶名称来创建存储桶,并且效果很好。然而,当我使用 JSON API 时,我得到了这个几乎不包含任何进一步信息的错误。
标签: google-app-engine google-cloud-storage