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/" + Назначение, Параметры, Заголовки); Возврат Ответ;