Доступ в изолированную директорию для Google Диска / API Dropbox / приложений RemoteStorage?

Есть ли способ получить изолированную, выбранную пользователем доступ к каталогу в любой крупной файловой службе, не получая сначала доступ на уровне чтения ко всей файловой системе?

Существует много разговоров о "незанятых" статических веб-приложениях, которые позволяют пользователям получать доступ к своим данным из сторонней файловой службы (Google Drive, Dropbox, своего собственного сервера и т. Д.). Наиболее заметное усилие, которое я нашел до сих пор, - это https://remotestorage.io/, но, похоже, ни у одного крупного провайдера не было способа позволить пользователю выбрать каталог, а затем использовать его в качестве изолированной среды, не нарушая его доверия (т.е. получая сначала прочитайте доступ ко всем их файлам).

С точки зрения пользователя, веб-приложение не должно иметь доступа ни к чему другому в удаленном файловом хранилище, кроме одной папки, к которой ему предоставлен доступ (например, я могу предоставить текстовому редактору доступ к моей папке FunnyJokes).

Похоже, что в настоящее время обходной путь заключается в том, что веб-приложение заблаговременно форсирует определенное имя папки ("это приложение хочет получить доступ к /appname_notes"), но это исключает возможность указания пользователем того места, где они уже могут иметь свои заметки.

Кто-нибудь знает хороший способ сделать это с Google Drive, Dropbox или тому подобное?

Пользовательский опыт, который имеет наибольшее значение для меня, является чем-то вроде...

  1. Пользователь открывает неопубликованное веб-приложение (например, базовый текстовый редактор TextyApp). Они нажимают кнопку, чтобы соединиться со своими данными.
  2. Появляется сторонняя страница авторизации (например, Google Drive), на которой написано: "Приложение TextyApp запросило доступ для чтения / записи к вашим файлам. Выберите каталог для использования".
  3. Экран подтверждения: "Предоставить доступ на чтение / запись к папке FunnyJokes для TextyApp?"
  4. Страница перенаправляется обратно в веб-приложение с изолированной программной средой, к которой имеется доступ к указанной пользователем папке и файлам в ней.

Это похоже на то, как должно работать удаленное хранилище файлов, но я пока не нашел способа сделать это. Любые мысли / предложения будут великолепны!

Ура, Адам

Редактировать: чтобы уточнить, я не говорю о хранении скрытых " данных приложения", но вместо этого позволяю пользователю указать конкретный каталог в изолированной программной среде для использования с веб-приложением, к которому он может не захотеть предоставить более широкий доступ.

2 ответа

Решение

API приложений Dropbox предоставляет возможность ограничить любое приложение, использующее ключ API, одним каталогом вашей учетной записи Dropbox. Таким образом, пользователи могут создать ключ API с доступом к определенному каталогу, а затем подключить его к своему приложению. Тем не менее, это не удобный рабочий процесс.

Я думаю, что API-интерфейс Chobox / Saver Dropbox может быть близок к тому, что вы хотите. Пользователю предоставляется всплывающее окно выбора файла Dropbox, и ваше приложение получает доступ только к определенным файлам, которые выбирает пользователь.

При использовании remoteStorage доступ к изолированным каталогам в настоящее время является стандартным способом для приложений запрашивать (и предоставлять пользователям) доступ к хранилищу. Однако пользователи не могут вручную выбирать или вводить пользовательские каталоги на этапе подключения.

Другие вопросы по тегам