google-api - 无法使用 Google Drive API 创建管理器权限
问题描述
我正在使用 Google Drive API 创建一个文件夹,创建后我需要向用户授予组织者权限。这就是我创建文件夹的方式:
$listingMainFolder = $serviceDrive->files->create(
new Google_Service_Drive_DriveFile([
'name' => [$request->name],
'mimeType' => 'application/vnd.google-apps.folder',
'parents' => [$parentFolder]
])
);
然后我创建权限:
$permission = $this->insertPermission($serviceDrive, $listingMainFolder->id, $listing->owner->email, 'user', 'organizer');
这是 insertPermission() 函数:
function insertPermission($service, $fileId, $value, $type, $role)
{
$newPermission = new Google_Service_Drive_Permission();
$newPermission->setEmailAddress($value);
$newPermission->setType($type);
$newPermission->setRole($role);
$permission = $service->permissions->create($fileId, $newPermission);
return $permission;
}
这给了我一个错误:“组织者角色仅对共享驱动器有效”,但如果我将“作者”而不是“组织者”作为角色传递,那么一切正常。创建文件夹时我错过了什么吗?
PS我也尝试过像这样传递 transferOwnership 属性:
$permission = $service->permissions->create($fileId, $newPermission, array('fields' => 'id', 'transferOwnership' => 'true'));
解决方案
推荐阅读
- flutter - 查找循环迭代的索引
- excel - 查找两个 Excel 工作表中的差异
- javascript - 使用键值对创建动态数组对象
- javascript - JQuery 在同一页面上找不到具有相同类的元素
- python - 一条直线上的两个位置,找到更远的第三个位置
- php - 产品列表中的 prestashop 比较按钮
- java - 如何从 Firestore 获取数组并在 Android 中循环遍历它?
- r - 如何使用 ggrepel 抑制警告
- python-3.x - FFMPEG - [WinError 2] 系统找不到指定的文件
- rest - Pcap4j:使用 IPv6 地址获取客户端 MAC 地址