使用 oauth Google Drive 访问先前创建的文件夹

Accessing previously created folder with oauth Google Drive

我们正在构建一个应用程序,允许用户连接他们的云存储(在本例中为 gDrive)并从我们的应用程序上传文件,但是他们也可以断开连接并可能连接到另一个应用程序。

用例可能是:

用户连接到 gDrive(应用程序创建文件夹并上传文件)> 后来用户在应用程序内断开与驱动器的连接> 稍后用户重新连接

问题是我们然后想获取这个以前创建的文件夹并进行更改,问题是,为了让用户重新连接,他们必须重新授权,设置一个新令牌,因此我们无法再访问该文件夹相反,我们的应用会自动创建一个同名的新文件夹 - 显然这不是我们想要的。

我们唯一能想到的解决办法就是不在disconnect/connect上重新授权,或者扩大oauth的范围,搜索文件夹。

我们将来会使用类似 rClone 的东西,但目前我们专注于几个主要的云服务。

还有其他解决办法吗?

  • 您的应用正在使用 drive.file 作用域,这允许它访问应用创建或打开的文件。
  • 用户通常会断开与该应用程序的连接,从而有效地取消对它的授权。因此,该应用无法访问用户上次连接到该应用时创建的文件夹。

drive.file作用域描述的很清楚:

Per-file access to files created or opened by the app. File authorization is granted on a per-user basis and is revoked when the user deauthorizes the app.

因此,不幸的是,允许应用程序访问以前创建的文件夹的唯一两种方法是您已经勾画的那些:

  • 使用提供更广泛访问权限的范围:在这种情况下,范围可能应该是 https://www.googleapis.com/auth/drive,因为根据我的理解,该应用程序需要写入权限。
  • 更改您应用的工作流程,以免用户取消对应用的授权。

关于更广泛的使用范围,以下功能请求显然是最近内部化的,如果它得到实施,可以提供可接受的解决方法:

我建议您为所引用的问题加注星标,以跟踪其发展并帮助确定其优先级。