Работа с Dropbox из 1С

Dropbox — это один самых популярных сервисов облачного хранения данных. Подобному сервису облачного хранения данных можно придумать массу применений (например, хранить резервные копии данных), а для реализации всех светлых идей Dropbox предоставляет доступ для сторонних приложений по протоколу OAuth. И сегодняшняя статья расскажет о том, как работать с Dropbox из 1С.

Для начала нужно зарегистрироваться в Dropbox и создать приложение и создать приложение при помощи App Console.

Создание приложения с полным доступом к аккаунту Dropbox выглядит так:

Создание приложения Dropbox
Создание приложения Dropbox

От только что созданного приложения нам потребуются два ключа: App key и App secret.

Ключи приложения Dropbox
Ключи приложения Dropbox

Я не буду приводить в статье весь код обработки (его там достаточно много), поясню лишь основные моменты и предупреждаю, что код написан по-минимуму (какие-либо оповещения и обработки ошибок отсутствуют).

Для начала нужно объявить глобальные переменные «WinHttp» и «ДанныеАвторизации» — я их объявил в модуле управляемого приложения, хотя это можно сделать и в другом месте. Там же (в модуле управляемого приложения) я инициализировал переменную «WinHttp»:

В процедуре авторизации я помещаю, полученные ранее, App key и App secret в структуру «ДанныеАвторизации». Затем делается запрос, на получение OAuth ключей:

Обрабатываем ответ, и помещаем полученные OAuth ключи в структуру «ДанныеАвторизации». После этого нужно дать пользователю возможность авторизоваться в аккаунте Dropbox и разрешить доступ приложению, для этого открывается отдельно окно с единственным объектом — поле HTML документа.

Параметр oauth_callback содержит страницу, на которую пользователь перенаправляется после регистрации Dropbox-приложения (у меня на этой странице написано, что окно можно закрыть).

После этого отправляем запрос на конвертацию наших OAuth ключей:

Результат запроса обрабатываем и записываем конвертированные ключи в структуру «ДанныеАвторизации» (заменяя старые OAuth ключи).

Далее коротко. Информация об аккаунте (ответ в формате JSON):

Список файлов (ответ в формате JSON):

Скачивание файла:

Загрузка файла (стандартными средствами, ибо через WinHttp это не так-то просто):

И напоследок сама обработка и некоторые ссылки:

 

3 комментария к “Работа с Dropbox из 1С

  1. В мобильном приложении возникает ошибка при создании COMОбъекта. Как исправить?

    • В мобильном приложении работать не будет, т.к. в нем нельзя использовать COM.
      Исправить можно переписав код: заменить COM-объект для HHTP-запросов на соответствующий объект в 1С.

  2. А можно как-то сделать чтобы каждый раз не надо было подтверждать доступ ?

Оставить комментарий