php - 公开共享团队云端硬盘中的文件
问题描述
我一直在尝试设置我通过代码通过服务帐户上传到共享驱动器的文件的权限,以便该文件是公开可见的,不幸的是,到目前为止我尝试的一切似乎都不起作用。将文件上传到共享驱动器可以正常工作,但不能公开访问。我在下面创建我的许可。请注意,以下调用被推迟。
$permissions = new Google_Service_Drive_Permission([
'type' => 'domain',
'domain' => '[DOMAIN]',
'role' => 'reader',
'allowFileDiscovery' => false,
'supportsAllDrives' => true,
'transferOwnership' => true,
'fields' => '*'
]);
$service->permissions->create($status['id'], $permissions);
$status['id'] 在所有文件块上传后返回,我打印了它以确保它是正确的文件 id。服务帐户上传文件,因此它应该有权更新这些权限,但它似乎不起作用。如果重要,服务帐户是共享驱动器上的贡献者。任何指导将不胜感激,如果需要,我可以使用更多代码进一步更新我的帖子。
解决方案
事实证明我把参数放在了错误的位置。为了得到我想要的,我用了这个
$params = [
'supportsAllDrives' => true
];
$service->permissions->create($status['id'], new Google_Service_Drive_Permission([
'role' => 'reader',
'type' => 'domain',
'domain' => '[DOMAIN]',
'allowFileDiscovery' => false
]), $params);
$service->permissions->create($status['id'], $permissions);
推荐阅读
- c++11 - 使用带有移动语义的 C++11 - 没有标准库(和 Boost.smart_ptr)
- angular - angular 2+ 使用 createComponent 工厂时如何使用和监听输出发射器
- swift - 无法在 SWIFT 中正确使用 try doc.getElementsByClass("h4 font-weight-bold mb-0 ")
- oauth - MS Teams 和 MSBotframeworkV4 聊天机器人中的 OAuth 实现导致自适应卡提交故障
- oracle - Oracle SQL / PLSQL:我需要将数据从一个数据库复制到另一个
- python - 如何使用 spaCy 解决模型安装问题?
- sql-server - 在 Ansible for PowerShell invoke-sqlcmd 命令中格式化转义的文字引号
- javascript - 如何正确获取父元素的子元素并将其附加为另一个元素的子元素
- testing - AspectMock test::double 在 Yii2 测试中不起作用
- unity3d - 屏幕旋转关闭时相机方向不跟随设备方向