文件是用不同的所有者创建的,我无法删除它谷歌云端硬盘API



我在驱动器的某个文件夹中创建了一个文件和快捷方式,但由于某种原因,该快捷方式是由不同的所有者(文件夹的所有者(创建的,因此我无法删除该文件(未经授权(。

  1. 有没有办法让用户删除他不拥有的文件
  2. 有没有办法确保我是我创建的快捷方式的所有者

我使用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以编程方式更改所有权,在我看来,这正是您最初想要的

最新更新