Обертка функций для Яндекс.Диск REST API

25.09.20

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

Работы коллег в направлении взаимодействия с Яндекс.Диск через REST API (https://infostart.ru/public/853451/ и https://infostart.ru/1c/articles/1278053/) вдохновили меня на написание обёртки основных функций для работы с диском на языке 1С. Пусть вся сложность http-запросов остаётся под капотом, а мы будем просто вызывать функции на привычном языке.

Скачать файлы

Наименование Файл Версия Размер
Обёртка функция для Яндекс.Диск REST API:
.cf 14,85Kb
17
.cf 14,85Kb 17 Скачать

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

Какие функции реализованы в модуле?

  • Получение данных о диске, в основном с целью расчёта свободного места для загружаемых файлов.
  • Создание папки, для последующей публикации нескольких файлов одной ссылкой.
  • Непосредственно загрузка файла на диск, как по имени файла на локальном диске, так и непосредственно в виде двоичных данных (у 1С:ДО удобно получать двоичные данные по ссылке на справочник файлов).
  • Удаление файла или папки в случае возникновения ошибки загрузки или публикации.
  • Публикация файла для формирования публичной ссылки на файл или папку.
  • Получение метаинформации о файле или папки, т. к. после публикации тут будет публичная ссылка.
  • Новое. Получение списка файлов на диске.
  • Новое. Сохранение файла с Яндекс.Диска на локальный.
  • Новое. Удаление файла из корзины, очистка корзины.
  • Ну и может кому будет интересен сам механизм работы с REST API.

В состав тестовой конфигурации входит общий модуль со всеми функциями и обработка для проведения тестов. Старался всё комментировать в строгом соответствии с требованиями методических рекомендаций 1С.

Проверено на технологической платформе 1С:Предприятие 8.3 (8.3.15.1830).

Обновлено 27.08.2020, 03.09.2020, добавлены новые функции по просьбе коллег.

Яндекс.Диск REST API

См. также

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен.

11856 руб.

25.05.2021    11756    9    4    

8

Интеграция с сервисом vetmanager

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

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    14454    34    43    

19

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    85177    142    211    

297

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    120820    44    105    

53

Sync1C: Синхронизация 1С и OpenCart

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

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    41869    77    133    

81

Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предприятием 2, УТ 10.3, редакция веб-сервиса MERLION API 3.0 от 18.08.2021)

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

Расширении конфигурации "Управление торговлей, редакция 11" для работы с веб-сервисом Мерлион с помощью Merlion API. Расширение и набор подключаемых дополнительных обработок позволяет без изменения конфигурации получить возможность работы с API крупнейшего российского дистрибьютора http://merlion.com. Логика работы максимально приближена к работе веб-сервиса b2b. Вы сможете создать и исправить заказ, зарезервировать товар прямо из 1С, посмотреть актуальные остатки и цены, импортировать штрихкода EAN13 товаров, загружать заказ c автоматическим созданием номенклатуры в 1С и корректности создания. Можно выбирать характеристики по товарным группам и загружать товар с выбранными характеристиками, загружать изображения товара. Не требуется установки дополнительного ПО для работы с веб-сервисом. Кроссплатформенное решение для ОС Windows и Linux. Весь код модулей открыт и доступен для просмотра и внесения изменений.

8280 руб.

02.05.2017    37382    40    45    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rusmil 261 17.08.20 11:41 Сейчас в теме
Не подскажете, как часто Яндекс меняет API сервиса Яндекс Диск?
2. soulner 340 17.08.20 12:46 Сейчас в теме
(1) В история изменений API последняя запись за 16 декабря 2015 года. Надеюсь, что не часто.
6. soulner 340 27.08.20 16:32 Сейчас в теме
(1) В процессе изучения вопроса оказывается, что API меняется, а документация нет.
3. Angel_19 6 21.08.20 14:55 Сейчас в теме
Добавили бы еще скачать файл - было бы супер.
4. soulner 340 21.08.20 16:56 Сейчас в теме
(3) Можно подумать, но тогда надо и список файлов получать. Я не нашёл возможность получить список файлов конкретной папки, там только кучей все файлы можно получить.
5. soulner 340 27.08.20 16:30 Сейчас в теме
(3) Готово, но тут Яндекс заставил помучиться. В документации записано, что получаешь прямую ссылку и скачиваешь, а оказалось, что ещё 302 редирект и только потом скачиваешь. Жуть!!!
7. kuntashov 448 31.08.20 00:43 Сейчас в теме
5 лет уже существует https://github.com/kuntashov/oscript-yadisk
ixijixi; artbear; +2 Ответить
8. soulner 340 31.08.20 09:14 Сейчас в теме
(7) Это, круто, спасибо не знал. Но это же под 1Script?
9. kuntashov 448 31.08.20 09:17 Сейчас в теме
(8) Он портируется в общий модуль 1С копированием/вставкой (с минимальными правками).
10. Dream_kz 127 01.09.20 13:09 Сейчас в теме
А можно как-нибудь через API очистить корзину?
11. soulner 340 01.09.20 14:56 Сейчас в теме
(10) Да, конечно, нужно выполнить delete-запрос на https://cloud-api.yandex.net/v1/disk/trash/resources. Описание тут. Могу эту функцию включить в свою обёртку.
12. Dream_kz 127 01.09.20 17:59 Сейчас в теме
(11) Если это возможно, то включите в обработку, лень разбираться)
А кейс такой, делаем периодический бэкап на яндекс диск (установлен клиент, просто файл ложим в папку яндекс диска), и старые файлы старше какой-то даты, удаляем, но из корзины они не удаляются, и надо каждый раз чистить эту корзину, делается это все через bat-файл, соответственно, там сложно писать что-то грандиозное
Заранее спасибо.
13. soulner 340 03.09.20 15:40 Сейчас в теме
(12) Готово!
14. Tarlich 114 13.10.22 22:13 Сейчас в теме
Добрый день !!!
вот тут написано
Получение метаинформации о файле или папки, т. к. после публикации тут будет публичная ссылка.

но при этом на втором рисунке публичная ссылка пустая
мне необходимо после того как файл залит на диск получать его ссылку для скачивания (данную ссылку отправлять в письме)
данная обработка позволяет получить данную ссылку ?
15. soulner 340 14.10.22 09:55 Сейчас в теме
(14) Добрый день. Ваша задача решена тут, обёртка как раз и писалась для выполнения этой задачи.
16. Tarlich 114 14.10.22 10:07 Сейчас в теме
(15) Прошу уточнить : т.к требуется отправка файлов большого объема - отправка на ЯД и прочее идет в Фоне ? длительные операции ?
17. soulner 340 14.10.22 10:21 Сейчас в теме
(16) Расширение, на которое я дал вам ссылку, написано для конфигурации 1С:Документооборот, там выгрузка файлов и вставка списка в текст сообщения реализуется интерактивно. Длительные операции не используются. Используются серверные вызовы для отправки каждого файла с отображением прогресса. В принципе, можно переписать под длительные операции, но тогда пользователь сможет закрыть форму и прервать операцию до её завершения, что не очень правильно.
Оставьте свое сообщение