Работа с 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 это не так-то просто):

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

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 1, средняя оценка: 5,00 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. Алексей

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

    1. тимур

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

  2. Серега Мигрин

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

  3. Дмитрий

    Статья к сожалению устарела, т.к. Dropbox теперь использует OAuth 2, так что спасибо за основы но лично я пошел курить документацию :sad:

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: