我在驱动器的某个文件夹中创建了一个文件和快捷方式,但由于某种原因,该快捷方式是由不同的所有者(文件夹的所有者(创建的,因此我无法删除该文件(未经授权(。
- 有没有办法让用户删除他不拥有的文件
- 有没有办法确保我是我创建的快捷方式的所有者
我使用drive.files.create()
方法(包装(创建了这两个文件。
const resource = {
parents: [folderId],
name: title,
properties: metadata,
}
const res = await drive.filesInsert({
resource,
media: {
mimeType,
body,
},
fields: 'id, parents'
});
const shortcutMetadata = { ...resource };
shortcutMetadata.parents = [parent];
shortcutMetadata.mimeType = 'application/vnd.google-apps.shortcut',
shortcutMetadata.shortcutDetails = {
targetId: id
}
const res = await drive.filesInsert({
resource: shortcutMetadata, fields: 'id, parents'
});
这就是错误:
{
“reason”: “forbidden”,
“message”: “Insufficient permissions for this file”
}
来自文档
快捷方式是在当前用户的"我的驱动器"上创建的,并且只为当前用户可以访问的文件或文件夹创建快捷方式。
- 拥有访问权限并不意味着成为所有者
- 您可以让另一个用户成为该文件的编辑器,在这种情况下,该用户可以在自己的驱动器上创建快捷方式
- 您也可以使用Permissions:Create以编程方式更改所有权,在我看来,这正是您最初想要的