【发布时间】:2022-01-14 09:20:53
【问题描述】:
我需要通过添加或删除 allUsers 实体来更新 ACL。
我有 PHP 库,我现在正在做的是:
$storage = new StorageClient([
'projectId' => "xxxxx",
'keyFilePath' => mykey,
]);
$bucket = $storage->bucket('mybucket');
$acl = $bucket->acl('objectAccessControls', 'path/file/on/bucket');
if(add){
$acl->add('allUsers', 'READER');
}else{
$acl->delete('allUsers');
}
使用此代码实际上更改了所有存储桶配置,而不仅仅是文件。
如何正确指定特定文件的路径并仅更改 path/file/on/bucket 的权限?我使用了错误的功能?
这里是我正在使用的文档 https://googleapis.github.io/google-cloud-php/#/docs/google-cloud/v0.90.0/storage/acl
更新 1: 使用它来删除似乎工作 -> https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls/delete
尝试将此处列出的参数包含在我所做的调用中,如下所示:
$options = ['object' => 'path/obj'];
$acl->delete('allUsers', $options)
还是不行
【问题讨论】:
标签: php google-cloud-platform google-cloud-storage acl