From b968d6f7b8b28fdb5d23b1233122321ee134222b Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 1 Feb 2024 20:43:29 +0300 Subject: [PATCH] =?UTF-8?q?Yandex=20Disk:=20=D1=81=D0=BA=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B8=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonModules/OPI_YandexDisk/Module.bsl | 67 ++++++++++++++++++- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl b/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl index f456b42785..5e659a0978 100644 --- a/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl +++ b/OPI/src/CommonModules/OPI_YandexDisk/Module.bsl @@ -78,7 +78,7 @@ Параметры.Вставить("path" , Путь); Параметры.Вставить("permanently", Не ВКорзину); - Ответ = OPI_Инструменты.Delete("https://cloud-api.yandex.net/v1/disk", Параметры, Заголовки); + Ответ = OPI_Инструменты.Delete("https://cloud-api.yandex.net/v1/disk/resources", Параметры, Заголовки); Возврат Ответ; @@ -103,7 +103,70 @@ Параметры.Вставить("path", Путь); Параметры = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры); - Ответ = OPI_Инструменты.Put(URL + Параметры, , Заголовки, Ложь); + Ответ = OPI_Инструменты.Post(URL + Параметры, , Заголовки, Ложь); + + Возврат Ответ; + +КонецФункции + +// Получить ссылку для скачивания. +// +// Параметры: +// Токен - Строка - Токен +// Путь - Строка - Путь к файлу для скачивания +// +// Возвращаемое значение: +// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex +Функция ПолучитьСсылкуДляСкачивания(Знач Токен, Знач Путь) Экспорт + + Заголовки = ЗаголовокАвторизации(Токен); + + Параметры = Новый Структура; + Параметры.Вставить("path", Путь); + + Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources/download", Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + +// Получить список файлов. +// +// Параметры: +// Токен - Строка - Токен +// ЛимитВложенных - Число,Строка - Количество выводимых вложенных ресурсов +// ОтборПоТипу - Строка - Отбор по типу файла +// Список доступных вариантов: audio, backup, book, compressed, data, development, +// diskimage, document, encoded, executable, flash, font, +// image, settings, spreadsheet, text, unknown, video, web +// СортироватьПоДате - Булево - Истина - сортировать по дате, Ложь - по алфавиту +// +// Возвращаемое значение: +// Строка, Произвольный, ДвоичныеДанные, HTTPОтвет, Неопределено - Ответ сервера Yandex +Функция ПолучитьСписокФайлов(Знач Токен + , Знач ЛимитВложенных = 0 + , Знач ОтборПоТипу = "" + , Знач СортироватьПоДате = Ложь) Экспорт + + Заголовки = ЗаголовокАвторизации(Токен); + + Параметры = Новый Структура; + + Если ЗначениеЗаполнено(ЛимитВложенных) Тогда + Параметры.Вставить("limit", OPI_Инструменты.ЧислоВСтроку(ЛимитВложенных)); + КонецЕсли; + + Если ЗначениеЗаполнено(ОтборПоТипу) Тогда + Параметры.Вставить("media_type", ОтборПоТипу); + КонецЕсли; + + Если СортироватьПоДате Тогда + Назначение = "last-uploaded"; + Иначе + Назначение = "files"; + КонецЕсли; + + Ответ = OPI_Инструменты.Get("https://cloud-api.yandex.net/v1/disk/resources/" + Назначение, Параметры, Заголовки); Возврат Ответ;