html - Google Drive/Dropbox API/RemoteStorage 应用程序的目录沙盒访问?

标签 html google-drive-api dropbox-api remotestorage

有没有办法在没有首先获得对整个文件系统的读取级别访问权限的情况下,在任何主要文件服务上获得沙盒、用户选择的目录访问权限?

关于允许用户从第三方文件服务(Google Drive、Dropbox、他们自己的服务器等)访问数据的“非托管”静态网络应用有很多讨论。到目前为止,我发现的最值得注意的成果是 remoteStorage.io ,但任何主要提供商似乎都没有办法让用户选择一个目录,然后将其用作沙箱而不破坏他们的信任(即首先获得对所有文件的读取权限)。

从用户的角度来看,Web 应用程序不应访问远程文件存储上的任何其他内容,除了用户授予它访问权限的那个文件夹(例如,我可能会授予文本编辑器访问我的FunnyJokes 的权限 文件夹)。

当前的解决方法似乎是让 webapp 提前强制使用特定的文件夹名称(“此应用程序想要访问/appname_notes”),但这排除了让用户将其指向他们可能已经有笔记的位置.

有人知道使用 Google Drive、Dropbox 或类似工具执行此操作的好方法吗?

对我来说最有意义的用户体验是...

  1. 用户打开一个未托管的网络应用程序(例如,一个基本的文本编辑器 TextyApp)。他们点击一个按钮来连接他们的数据。
  2. 出现第 3 方授权页面(例如,Google 云端硬盘)并显示“应用 TextyApp 已请求对您的文件进行读/写访问。请选择要使用的目录。”
  3. 确认屏幕:“授予 TextyApp 对文件夹 FunnyJokes 的读/写权限?”
  4. 页面重定向回 web 应用程序,沙盒访问用户指定的文件夹及其中的文件。

这似乎是远程文件存储应该 的工作方式,但我还没有找到实现它的方法。 任何想法/建议都会很棒!

干杯, 亚当

编辑:为了澄清,我不是在谈论存储隐藏的“application data”,而是让用户指定一个特定的目录到沙箱,以供他们可能不想提供更广泛访问权限的网络应用程序使用。

最佳答案

Dropbox Apps API 提供了将任何使用您的 API key 的应用限制在您 Dropbox 帐户的单个目录中的功能。因此,用户可以创建一个可以访问特定目录的 API key ,然后将其插入到您的应用程序中。但是,这不是一个用户友好的工作流程。

我认为 Dropbox Drop-Ins Chooser/Saver API 可能接近您想要的。用户会看到一个 Dropbox 文件选择弹出窗口,您的应用只能访问用户选择的特定文件。

关于html - Google Drive/Dropbox API/RemoteStorage 应用程序的目录沙盒访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736664/

相关文章:

html - 对于所有客户端,http ://example. com//的处理方式是否与 http ://example. com/不同?

dropbox - Dropbox Datastore API 与 Parse 有何不同?

javascript - Phonegap 中的 Dropbox Javascript Datastores API 示例为 Windows8 应用程序提供错误禁止框架

google-drive-api - 使用 Google Drive API 删除文件

Node.js 保管箱 OAuth

html - 在响应式布局中 Div 隐藏在另一个 Div 后面

html - 如何在 View 中的两个单独列中显示标签和值?

java - 连续读取网站流

ios - Google Drive API 与 iOS 使用应用程序服务帐户

google-apps-script - 自动查找并永久删除Google云端硬盘中的垃圾项目