有没有一种方法可以在任何主要文件服务上获得沙盒、用户选择的目录访问权限,而无需首先获得对其整个文件系统的读取级别访问权限?
有很多关于“非托管”静态网络应用程序的讨论,它允许用户从第 3 方文件服务(Google Drive、Dropbox、他们自己的服务器等)访问他们的数据。到目前为止,我发现的最显着的努力是remoteStorage.io,但似乎没有任何主要提供商可以让用户选择一个目录,然后将其用作沙箱而不破坏他们的信任(即获取首先读取他们所有文件的权限)。
从用户的角度来看,除了用户授予它访问权限的一个文件夹(例如,我可能授予文本编辑器对我的FunnyJokes文件夹的访问权限)之外,webapp 不应访问远程文件存储上的任何其他内容。
当前的解决方法似乎是让 webapp 提前强制使用特定的文件夹名称(“此应用程序想要访问 /appname_notes”),但这排除了让用户将其指向他们可能已经拥有笔记的位置。
有谁知道用 Google Drive、Dropbox 或类似工具来做这件事的好方法吗?
对我来说最有意义的用户体验是……
- 用户打开一个非托管的 web 应用程序(例如,一个基本的文本编辑器 TextyApp)。他们点击一个按钮来连接他们的数据。
- 出现第 3 方身份验证页面(例如,Google Drive)并显示“应用程序 TextyApp 已请求对您的文件进行读/写访问。请选择要使用的目录。”
- 确认屏幕:“为 TextyApp 授予对文件夹FunnyJokes的读/写访问权限?”
- 该页面重定向回 Web 应用程序,沙盒访问用户指定的文件夹和其中的文件。
这似乎是远程文件存储应该如何工作,但我还没有找到一种方法来做到这一点。任何想法/建议都会很棒!
干杯,亚当
编辑:为了澄清,我不是在谈论存储隐藏的“应用程序数据”,而是让用户指定一个特定的目录到沙箱,以便与他们可能不想提供更广泛访问权限的 web 应用程序一起使用。