google驱动器api-copyfile仅在具有访问驱动器中所有文件的权限的情况下工作(但jst需要复制)

google drive api - copyfile working only with permission for accessing all files in drive (but jst need to copy)

本文关键字:驱动器 工作 jst 复制 情况下 文件 api-copyfile 访问 google 权限      更新时间:2023-09-26

我们可以使用此页面进行复制https://developers.google.com/drive/v2/reference/files/copy.

但只有当我征得他们的许可时,它才起作用https://www.googleapis.com/auth/drive这意味着我可以修改他的驱动器中的任何文件,这是非常糟糕的。我只需要将一个公共文件复制到经过身份验证的用户的帐户中。

我该怎么做?

当我只接受这个许可https://www.googleapis.com/auth/drive.file,据说,用户没有授予对文件的写访问权限,这个文件就是我正在复制的文件。。

我正在使用来自api控制台的"web"类型的应用程序。

根据文档,Files.copy()至少需要以下三种权限之一:

https://www.googleapis.com/auth/drive:"查看和管理你的谷歌硬盘中的文件和文档",这是你想要避免的一个

https://www.googleapis.com/auth/drive.file:"查看和管理您使用此应用程序打开或创建的Google Drive文件。"这意味着您可以自由创建任何文件,但只能打开您的应用程序创建的文件您只能复制您创建的文件,但不能复制任何其他文件,即使它是公共文件。

https://www.googleapis.com/auth/drive.appdata:"在Google Drive中查看和管理自己的配置数据",这只允许您控制应用程序特定的Appdata文件夹,这可能不是您想要的您只能复制appdata文件夹中的文件,但同样,即使用户有访问权限,也不能复制任何其他文件。

长话短说,您可能应该使用https://www.googleapis.com/auth/drive范围。