【发布时间】:2016-08-18 00:42:56
【问题描述】:
我目前正在使用 JSON API Java 库将对象上传到 Google Cloud Storage,并尝试更改上传对象的权限。当我第一次上传文件时,有 3 个默认文件权限是:
项目所有者-projectId OWNER
项目编辑-projectId OWNER
项目查看者-projectId OWNER
上传后,我尝试使用我的代码添加一个新的文件权限,以使所有用户都可以作为阅读器访问它,我的代码是:
StorageObject objectMetadata = new StorageObject();
// set access control
List<ObjectAccessControl> acl = Lists.newArrayList();
acl.add(new ObjectAccessControl().setEntity("allUsers").setRole("READER"));
objectMetadata.setAcl(acl);
Storage.Objects.Update req = client.objects().update(Bucket, file, objectMetadata);
req.execute();
但是,代码运行成功后,3个默认文件权限消失了,取而代之的是:
用户 allUsers 阅读器
虽然这是我要设置的文件权限,但是原来的3个默认文件权限已经没有了。有什么办法可以让我的 3 个默认文件权限保留并拥有这个新文件权限?任何帮助表示赞赏。
【问题讨论】:
标签: java json google-app-engine google-cloud-storage acl