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

Публикация № 1279944

Разработка - Системная интеграция - Интеграция с WEB

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

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

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

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

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

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

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

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

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

Наименование Файл Версия Размер
Обёртка функция для Яндекс.Диск REST API:

.cf 14,85Kb
6
.cf 14,85Kb 6 Скачать

Специальные предложения

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

См. также

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.02.2015    107306    108    daMaster    90    

Сравнение реального дохода со средним доходом из API.HH.RU

Зарплата Управленческие v8 v8::СПР ЗУП3.x УУ Абонемент ($m)

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с HH.RU используя HH REST API. Ключевые функции: получение списка вакансий по должностям (Ключ для работы не нужен); расчет среднего дохода; Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.13.1513) Зарплата и управление персоналом, редакция 3.1 (3.1.11.68) совместно с API.HH.RU.

1 стартмани

11.11.2019    4703    7    solaru    2    

Конфигурация для рекламного агентства

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) v8 Реклама, PR и маркетинг УУ Абонемент ($m)

Данная конфигурация выполнена для решения тестового задания: Цель задания: 1) Понять, на каком из клиентов сколько мы заработали;  2) Понять, по какому виду СМИ сколько мы заработали;  3) Проследить по каждой услуге: у кого за сколько купили и кому за сколько продали, с возможностью перейти в соответствующий документ. Реализовано с помощью: 1. Справочники - контрагенты, номенклатура 2. Документы - Поступление услуг, реализация услуг 3. Отчеты - отчет по контрагентам, номенклатуре и движений.

1 стартмани

21.05.2019    5973    0    solaru    0    

Загрузка номенклатуры в УТ 10.3 из Excel файла с генерацией штрихкодов

Загрузка и выгрузка в Excel Обработка справочников Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 УТ10 Россия Абонемент ($m)

Обработка позволяет генерировать новые номенклатурные позиции на основе данных из файла Excel с последующей генерацией штрихкодов (ШК). Может быть полезна при больших поступлениях товаров на склад, где ручное создание и присваивание штрихкода  (ШК) может занимать много времени.

1 стартмани

24.03.2017    8455    7    solaru    0    

Под капотом управляемых форм

Практика программирования v8 1cv8.cf Бесплатно (free)

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

26.08.2013    274779    Evil Beaver    274    

[NotaBene] Универсальный отчет по таблице значений

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

1C v.7.7 Готовое решение. Не требует настройки. Не требует допрограммирования. Данная обработка решает часто встречающуюся задачу вывода в "красивом" виде таблицы значений (полученной, например, из запроса). Поддерживается произвольное группирование данных, отключение/включение группировок, в т.ч и создание "шахматок" (типа "продажи понедельно"). Обработка может использоваться как и в отладочных целях (для нормального просмотра ТЗ), так и в составе вполне рабочих отчетов. По крайней мере, я неоднократно клиентам данную обработку ставил вместо того, чтобы каждый раз писать замороченные выводы данных. И клиенты довольны, и мне - проще...

2 стартмани

07.05.2007    30094    2900    CheBurator    64