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

25.09.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обёртка функция для Яндекс.Диск REST API:
.cf 14,85Kb
21
21 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

См. также

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

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

128000 руб.

19.12.2023    1921    2    0    

9

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

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

57600 руб.

26.11.2024    1645    1    1    

4

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

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

36000 руб.

03.08.2020    18625    20    22    

18

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

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20776    13    19    

18

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

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

12000 руб.

02.02.2021    18413    53    50    

29

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    527    2    0    

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

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