Я создаю одностраничное веб-приложение, которое должно помочь писателям закончить свое письмо. Я называю это "Просто пиши, черт возьми!" (https://www.justwritedammit.com). Он делает упор на то, чтобы войти в поток письма и блокировать отвлекающие факторы.
Одной из потенциальных функций было автоматическое сохранение данных для пользователя и синхронизация этих данных между несколькими комбинациями компьютера/браузера и сеансами. Пользователь выберет своего поставщика хранилища, то есть Dropbox, Google Drive или Microsoft OneDrive, проделает весь танец OAuth и заставит все работать напрямую через браузер и поставщика, даже не касаясь моего сервера. В настоящее время приложение не имеет серверной части. Я надеялся минимизировать свои расходы на хостинг при создании минимального продукта. В конце концов, мне, вероятно, понадобится сервер, но сейчас я бы хотел, чтобы он находился на стороне клиента, насколько это возможно.
Я еще не добрался до Google Диска, так что судить о нем можно, но, насколько я могу судить, несмотря на поверхностные обещания предоставить API для доступа к файловым данным, ни Dropbox, ни[1] OneDrive на самом деле нет. Они предоставляют доступ к метаданным и позволяют инициировать загрузку в локальную файловую систему для пользователя, но ни один из них не позволяет фактически загрузить файл в браузер.
В Dropbox есть Datastore API, который позволяет хранить информацию о каждом пользователе через Интернет, но он не создает физический файл для пользователя, и нет четкого способа представить эти данные пользователю вне контекста приложения. . Я использую эту функцию, чтобы обеспечить синхронизацию сеансов между браузерами и компьютерами, но чтобы предоставить пользователю физический файл, мне пришлось внедрить систему, использующую URI данных для загрузки файла из браузера, что совершенно точно не может быть автоматизирована.
Итак, мой вопрос: я что-то пропустил? Возможно ли это, и я просто не потратил на это достаточно времени? Возможно ли это с Google Диском или мне не стоит тратить свое время?
[1] РЕДАКТИРОВАТЬ: как указывает smarx, это возможно, поскольку я хочу, чтобы это было с Dropbox. Класс Client API хранилища данных имеет методы readFile и writeFile, которые делают именно то, что мне нужно. Однако остается открытым вопрос, имеют ли Google Диск и Microsoft OneDrive аналогичную функциональность.