【发布时间】:2020-06-26 16:48:32
【问题描述】:
我们正在构建一个应用程序,允许用户连接他们的云存储(在本例中为 gDrive)并从我们的应用程序上传文件,但他们也可以断开与它的连接并可能连接到另一个。
一个用例可能是:
用户连接到gDrive(应用创建文件夹并上传文件)> 稍后用户与应用内驱动器断开连接 > 稍后用户重新连接
问题是我们想要获取这个先前创建的文件夹并进行更改,问题是,为了让用户重新连接,他们必须重新授权,设置新令牌,因此我们不再有权访问该文件夹,而是我们的应用会自动创建一个同名的新文件夹 - 显然这不是我们想要的。
我们能想到的唯一解决方案不是在断开/连接时重新授权或增加 oauth 的范围并搜索文件夹。
我们将来会使用rClone 之类的东西,但目前我们专注于几个主要的云服务。
还有其他解决办法吗?
【问题讨论】:
-
您能否分享您正在使用的代码的相关部分?我不明白
reauthorize和no longer have access to that folder之间的联系。 -
不幸的是我做不到。连接是,当用户断开连接时,他们未授权访问我们的应用程序,而当他们再次连接时,这需要重新授权。这给了我们一个新的令牌,并且因为我们的范围仅限于我们创建的文件夹,我们不再可以访问它并且必须创建一个新文件夹。我们希望能够访问已经存在的那个,最好不要增加范围——这就是为什么我要问是否还有其他方法。
-
好的,我猜你正在使用
DRIVE.FILE范围。不幸的是,我认为在这种情况下,唯一的选择是使用更强大的范围并更改应用程序工作流程,以便用户不会取消对应用程序的授权。关于另一个范围的使用,目前有一个开放的功能请求限制对用户驱动器上某个文件夹的访问,check it out。 -
想了很多,谢谢!链接也很有趣!
-
完全同意,将您的标记为正确。谢谢!
标签: oauth-2.0 google-drive-api google-oauth