Подключение к DROPBOX через REST API

28.12.17

Интеграция - WEB-интеграция

Обработка позволит подключить вашу конфигурацию к диску DROPBOX через публичный REST API сервиса. В ней есть графический интерфейс, поэтому можно проверить работоспособность до встраивания обработки в конфигурацию.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Подключение к DROPBOX через REST API:
.epf 17,51Kb ver:1.0.1
15
15 Скачать (2 SM) Купить за 2 150 руб.

Возможности

  • OAuth-авторизация
  • Обзор файлов
  • Добавление папок
  • Загрузка файлов на Диск Dropbox
  • Скачивание файлов с Dropbox
  • Удаление файлов и папок

Использование

  1. Зарегистрируйте свое приложение в DROPBOX, включите необходимые права.
  2. Скачайте обработку.
  3. Загрузите обработку в конфигурацию или подключите ее через подсистему дополнительных отчетов и обработок из БСП.
  4. Получите код авторизации в личном кабинете Dropbox.
  5. Используйте процедуру "Токен" из модуля объекта обработки для обмена полученного кода авторизации на OAuth-токен или токен можно сгенерировать в личном кабинете Dropbox.
  6. Используйте программный интерфейс объекта обработки, модуль объекта содержит подробные комментарии.

 

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

Инициализация

// Создаем объект из конфигурации

DropBox = Обработки. ОбменDropBox.Создать();

 

// Или создаем объект из подсистемы доп. обработок БСП 2.3

DropBox = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(СсылкаНаДопОбработку);

 

DropBox.IDПриложения = Константы.IDПриложенияDropBox.Получить();

DropBox.ПарольПриложения = Константы.ПарольПриложенияDropBox.Получить();

DropBox.Токен = Константы.ТокенDropBox.Получить();

 

Просмотр и скачивание файлов

// Получаем список файлов

DropBox.СписокФайлов();

 

// Скачиваем файл

АдресФайла = DropBox.СкачатьФайл(РасположениеНаДискеDropbox);

ДанныеФайла = ПолучитьИзВременногоХранилища(АдресФайла);

ДанныеФайла.Записать(ВременныйФайл);

 

// остальные методы по аналогии

Особенности

  • Для работы нужна версия платформы 8.3.6.1977 и выше.
  • Используются кроссплатформенные объекты для работы с HTTP запросами, так что должно работать на Linux и Mac.

Т.к. не было найдено готового решения здесь, принял, как шаблон удачного примера Классный пример для Яндекса и реализовал только для сервиса Dropbox.

 

Спасибо, что дочитали до конца!

REST DROPBOX

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4461    5    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35874    71    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    3327    3    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1397    9    2    

11

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19700    24    24    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5572    5    2    

6

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21322    14    19    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dzenn 907 19.10.18 11:44 Сейчас в теме
Спасибо огромное за обработку! Она прекрасна, и очень помогла, но есть нюанс:

Вместо конструкций вида

	Заголовки.Вставить("Dropbox-API-Arg", "{""path"": " + """" + Путь + """" + "}");


надо использовать

	ПЗ = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет,,,ЭкранированиеСимволовJSON.СимволыВнеASCII);
	ЗД = Новый ЗаписьJSON;
	ЗД.УстановитьСтроку(ПЗ);
	ЗД.ЗаписатьНачалоОбъекта();
	ЗД.ЗаписатьИмяСвойства("path");
	ЗД.ЗаписатьЗначение(Путь);
	ЗД.ЗаписатьКонецОбъекта();
	Аргументы = ЗД.Закрыть();

	Заголовки.Вставить("Dropbox-API-Arg", Аргументы);
Показать


Это позволяет использовать кириллицу в именах файлов и гарантирует валидность JSON в любых других случаях.
men260181; acanta; +2 Ответить
2. men260181 22 19.10.18 15:37 Сейчас в теме
(1) Спасибо, приятель! Отличное дополнение, нет предела совершенству :)
3. Dzenn 907 19.10.18 15:39 Сейчас в теме
(2) пожалуйста ;-)
И ещё не хватило обработки параметра "Перезапись" в процедуре ЗагрузитьФайл(...)

Процедура ЗагрузитьФайл(Знач Путь, Знач АдресХранилища, Знач Перезаписывать = Ложь) Экспорт
		
	ИмяСервера = "content.dropboxapi.com";
	ОтносительныйURL = "/2/files/upload";
	
	Заголовки = СформироватьЗаголовки();
	
	Если Перезаписывать Тогда
		Перезапись = "overwrite";
	Иначе
		Перезапись = "add";
	КонецЕсли;
	
	ПЗ = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет,,,ЭкранированиеСимволовJSON.СимволыВнеASCII);
	ЗД = Новый ЗаписьJSON;
	ЗД.УстановитьСтроку(ПЗ);
	ЗД.ЗаписатьНачалоОбъекта();
	ЗД.ЗаписатьИмяСвойства("path");
	ЗД.ЗаписатьЗначение(Путь);
	ЗД.ЗаписатьИмяСвойства("mode");
	ЗД.ЗаписатьЗначение(Перезапись);
	ЗД.ЗаписатьКонецОбъекта();
	Аргументы = ЗД.Закрыть();
	
	Заголовки.Вставить("Authorization", "Bearer " + Токен);
	Заголовки.Вставить("Dropbox-API-Arg", Аргументы);
	Заголовки.Вставить("Content-Type", "application/octet-stream");
	Заголовки.Вставить("Accept", "application/octet-stream");
	
	HttpЗапрос = Новый HTTPЗапрос(ОтносительныйURL, Заголовки);
	HttpЗапрос.УстановитьТелоИзДвоичныхДанных(ПолучитьИзВременногоХранилища(АдресХранилища));
	
	HttpСоединение = Новый HTTPСоединение(ИмяСервера, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	HttpОтвет = HttpСоединение.ОтправитьДляОбработки(HTTPЗапрос, "");

	ТелоОтвета = HttpОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
	ОбработатьКодСостояния(HttpОтвет, ОтносительныйURL, ТелоОтвета);
	
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ТелоОтвета);
	Ответ = ФабрикаXDTO.ПрочитатьJSON(Чтение);
	
КонецПроцедуры

Показать
4. user1432682 14.08.20 21:01 Сейчас в теме
Добрый день. ПОдскажите пожалуйста, как в форму список фалов загнать более 500. всю голову сломал:(
5. men260181 22 23.09.20 06:52 Сейчас в теме
Можно вызвать эту процедуру циклом по количеству файлов. Можно передать пути к файлам массивом, а в процедуре (переделать) циклом для каждого выполнить нужные действия.
Оставьте свое сообщение