使用 Google 驱动器 API 编辑其他用户的文件

Using Google Drive API to edit other user's files

我正在构建一个用作降价编辑器的应用程序,并具有 Google 身份验证/登录功能。我有用户问他们是否可以选择将他们的文档保存到他们的 google 驱动器而不是我的服务器,这似乎通过 Google 驱动器 v3 API 工作正常,保存到app data 个文件夹。

但是,用户也可以生成协作者 link 供其他人访问,并允许他们作为共同所有者编辑文件。我想与 Google 驱动器文件保持这种共享功能,但 this (very old) answer 建议以这种方式共享可能无法与 appdata 中的文件共享,因为:

Appdata content is supposed to be exclusive to the application.

这是否意味着,只要我的用户都通过应用独占访问这些文件,就可以在用户之间共享应用数据?或者appdata文件夹是应用程序和用户独有的?如果是这样,是否至少可以共享对 google 由我的应用程序创建但 appdata 文件夹之外的驱动器文件的编辑器访问权限?

我在想象这个过程:

  1. 用户 1 在我的应用程序中创建了一个文件,然后我的应用程序将其保存到他的 Google 驱动器(最好在应用程序数据中)
  2. 用户 1 通过我的应用程序生成一个协作者 link,并将其提供给用户 2
  3. 用户 2 访问 link,它在我的应用程序中打开用户 1 的文件,对其进行编辑
  4. 用户 2 的编辑已保存,我的应用程序通过 API
  5. 更新原始用户 1 的文件

问题:

“或者 appdata 文件夹是应用程序和用户独有的吗?”

答案:

是的,您的应用在他们的云端硬盘上是专有的。


备注:

  • 将 AppData 文件夹用于应用程序数据,而不是用户数据。
  • 如果文件是由您的应用程序创建的,并且您想将其存储在用户的云端硬盘中,则可以使用 https://www.googleapis.com/auth/drive.file 范围。您的应用程序将始终可以访问该文件,因为它是由它创建的。
  • 请记住,如果您的应用需要 restricted scopes,您将必须通过验证。