Загрузить BLOB-объект в Dropbox из клиентского JavaScript

У меня есть приложение, которое работает в клиентском браузере и не имеет серверной части (http / js обслуживается, но ничего не отправляется на сервер). приложение повторно развертывается на многих серверах (iis, apache, nginx, иногда localhost, иногда в интрасети) и обслуживается с использованием http (не https). Мое приложение генерирует такие файлы, как zip-файлы и pdf-файлы в браузере клиентов в виде больших двоичных объектов, ДО того, как я захочу сохранить их, поэтому их перемещение на ту же страницу, а затем возврат к приложению, лишает цели; и я больше не могу публиковать сгенерированные данные в Dropbox, так как они должны начинаться заново... Я хочу иметь возможность отправлять эти двоичные объекты прямо в файлы в Dropbox конечных пользователей (и позже на диск Google).

https://www.dropbox.com/developers-v1/dropins/saver работает точно так, как я хотел бы. Это всплывает. Это позволяет пользователю аутентифицироваться во всплывающем окне. Это позволяет пользователю выбирать, куда он хочет поместить мой файл. Но я не могу отправить ему данные URI, или данные, закодированные в Base64, или байтовый массив, или что-то еще. Работает только с файлами, ранее сохраненными в сети. Так что это не работает для меня.

https://www.newfangled.com/direct-javascript-dropbox-api-usage/ показывает, как я могу встраивать данные oauth, которых у меня нет.

https://blogs.dropbox.com/developers/2013/12/writing-a-file-with-the-dropbox-javascript-sdk/ похоже, что он должен работать, за исключением того, что он пытается выполнить сеанс oauth и использует то же самое окно, что и мое приложение (что нежелательно).

Мои текущие вкладки, на которые я смотрю (включает записи, сделанные несколько лет назад, поэтому с тех пор все могло измениться). Некоторые статьи указывают, что это невозможно. Другие статьи указывают на то, что это возможно - я имею в виду этот конкретный комментарий https://github.com/dropbox/dropbox-js/issues/144 не сильно мне помогает. Также не "Я обязательно передам это как обратную связь" - это было передано? Кому?

1 ответ

Решение

Похоже, что код из https://blogs.dropbox.com/developers/2013/12/writing-a-file-with-the-dropbox-javascript-sdk/ отлично работает для вас, но вы хотите сделать аутентификацию в отдельном окне браузера / вкладке.

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

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