java - 如何在创建时将域添加到 Google Cloud Storage 对象 ACL?

标签 java google-app-engine acl google-cloud-storage

在我基于 Java 的应用程序引擎项目中,我允许用户将文件上传到谷歌云存储(这可行),但我似乎无法将特定域添加到访问列表中,因此只有我内部的人公司可以访问我的文件。我该怎么做?

我尝试使用:

    GcsService gcsService = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance());
    GcsFilename gcsFileName = new GcsFilename("my-bucket", user_uploaded_file_name);
    Builder fileOptionsBuilder = new GcsFileOptions.Builder();
    fileOptionsBuilder.mimeType(mimeType);
    fileOptionsBuilder.acl("authenticated-read"); // how do i modify this list?
    GcsFileOptions fileOptions = fileOptionsBuilder.build();
    GcsOutputChannel outputChannel = gcsService.createOrReplace(gcsFileName, fileOptions);

而这个authenticated-read 只是使文件公开(不是我想要的)。我想将组织“@mycompany.com”中的所有人添加到访问列表中。我是通过代码来做的吗?还是我使用 Google 云控制台执行此操作?

我将向人们提供他们通过此 url 上传的文件的链接:

String url = https://console.developers.google.com/m/cloudstorage/b/"+ "my-bucket"+ "/o/"+ user_uploaded_file_name;

最佳答案

哇哦。这个人真的很有帮助并且有 Java 版本:

Changing ACL for Google Cloud Storage from Appengine (JAVA)

这对我来说完全有效!

关于java - 如何在创建时将域添加到 Google Cloud Storage 对象 ACL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393406/

相关文章:

java - 在 Eclipse Subversive 中更改项目 SVN 地址

java - 编码和解码结果集 : Dealing with empty strings

java - Python 脚本不会在本地主机 gae 开发服务器的 urlopen 之后读取()——对等连接重置

java - 为什么使用 IntelliJ 时我的 Google App Engine 类没有得到增强?

scala - 使用文件系统在Scala中将数据从本地复制到远程hdfs位置时,hadoop权限被拒绝

powershell - netsh acl 设置(需要替代方法 - 注册表设置?)

java - 检索给定 objectId 的 ParseObject 的 ACL

java - 递归查找两个整数之间公共(public)数字的最后一个索引

java - 使用java的正则表达式中的句点

python - GAE 错误 django.core.exception