我的目标是能够使用OAuth令牌调用Google存储REST API,并授予已认证的Google用户对储存桶中名为“directoryName”的目录的读/写权限。 到目前为止,我已经成功地在将用户添加到Bucket的ACL后使用Storage API。然而,我不想授予用户完整Bucket的读取或写入权限,而仅限于用户在Bucket内的目录中,例如Bucket/directoryName。 例如,我想要调用storage.objects.list获取Bucket内目录的内容,而无需为用户提供Bucket的权限,而只提供该目录(和子目录)的权限。 迄今为止我尝试了:当我尝试在将用户添加到目录的ACL(作为所有者)后调用GET方法https://www.googleapis.com//storage/v1/b/bucket/o?fields=kind%2Citems%28name%29&maxResults=150&prefix=directoryName时,我得到错误响应:“code”:403,“message”:“myEmail@gmail.com无法访问myBucketName.appspot.com的storage.objects.list”。 是否有可能在Google Cloud Storage中提供目录级别的权限,并仅列出该目录的内容?
如文档所述,Cloud Storage中不存在目录。 在Storage看来,只有存储桶以及其中的对象/文件,它们可能有也可能没有名称中的“ / ”。 由于这种设计选择,Cloud Storage中没有为“目录”设置权限的选项。 请注意,您可以免费创建任意数量的存储桶。 您可以根据要求为每个用户创建一个存储桶。